当前位置: 首页 > news >正文

数字设计 综合工具 yosys 源码安装与应用简介

1. 下载源码

下载:

这样不能切版本:

$ git clone --recurse-submodules https://github.com/YosysHQ/yosys.git

或者先切到 0.57版本,在clone 对应版本的 submodule:

$ git clone https://github.com/YosysHQ/yosys.git
$ cd yosys
$ git checkout v0.57
$ git submodule update --init --recursive

2. 编译安装

make config-gcc
mkdir build
cd build/
make -f ../Makefile

安装:

sudo make -f ../Makefile VERBOSE=1

运行:

3. 综合一个module

3.1. 一个4bit 的移位寄存器 module综合

shiftreg.v

module shiftreg_PA_rev(output reg A, input E, clk, rst);reg B, C, D;always @ (posedge clk, posedge rst) beginif(rst==1'b1)begin A=0; B=0; C=0; D=0; endelse beginA=B;B=C;C = D;D = E;endendendmodule

综合:

yosys> help help
yosys> read -sv shiftreg.v
yosys> hierarchy -top shiftreg_PA_rev
yosys> write_rtlil
yosys> proc; opt
yosys> show

显示如图:

3.2 官方示例

源文件:fiedler-cooley.v 

// borrowed with some modifications from
// http://www.ee.ed.ac.uk/~gerard/Teach/Verilog/manual/Example/lrgeEx2/cooley.html
module up3down5(clock, data_in, up, down, carry_out, borrow_out, count_out, parity_out);input [8:0] data_in;
input clock, up, down;output reg [8:0] count_out;
output reg carry_out, borrow_out, parity_out;reg [9:0] cnt_up, cnt_dn;
reg [8:0] count_nxt;always @(posedge clock)
begincnt_dn = count_out - 3'b 101;cnt_up = count_out + 2'b 11;case ({up,down})2'b 00 : count_nxt = data_in;2'b 01 : count_nxt = cnt_dn;2'b 10 : count_nxt = cnt_up;2'b 11 : count_nxt = count_out;default : count_nxt = 9'bX;endcaseparity_out  <= ^count_nxt;carry_out   <= up & cnt_up[9];borrow_out  <= down & cnt_dn[9];count_out   <= count_nxt;
endendmodule

需要在图形桌面上的 terminal 中完成:

yosys> help help
yosys> read -sv tests/simple/fiedler-cooley.v
yosys> hierarchy -top up3down5
yosys> write_rtlil
yosys> proc; opt
yosys> show
yosys> show -format ps -viewer gv
yosys> techmap; opt
yosys> write_verilog synth.v

运行到:yosys> show 显示如下:

 运行到 yosys> show -format ps -viewer gv 显示如下,屏幕有点小:

http://www.dtcms.com/a/453272.html

相关文章:

  • HikariCP 连接池完全指南
  • 绵竹网站建设大连装修公司
  • C++空值初始化利器:empty.h使用指南
  • 电子版康奈尔笔记写作方案对比
  • (3)SwiftUI 的状态之上:数据流与架构(MVVM in SwiftUI)
  • 郴州网站seo个人兴趣网站设计
  • wordpress企业站源码做qq群头像网站
  • Vue和React怎么选?全面比对
  • C++之再谈类与对象
  • 巫山做网站那家好企业网站的建立
  • 深度学习基础:从原理到实践——第一章感知机(中)
  • 企业网站策划怎么样揭阳模板网站建站
  • 计算机网络第四章(8)——网络层《ICMB网际控制协议》
  • 网络教育网站如何做营销推广做ppt必备网站
  • 移植到Linux,Avalonia初次尝试意外美好
  • asp网站管理系统源码免费申请163邮箱
  • 欧拉公式剖析
  • 冲刺校招 打卡 day02
  • 【精品资料鉴赏】312页WORD 详解发电企业数字化转型规划方案()
  • 进阶 C++ 学习总结与核心感悟
  • gRPC从0到1系列【24】
  • 无锡设计师网站又拍云wordpress全站cdn
  • LeetCode 刷题【106. 从中序与后序遍历序列构造二叉树】
  • 大模型的核心原理
  • 用友u8 erp和免费生产排程软件isuperaps通过sql实现数据集成示例
  • 车载诊断架构 --- 车载ECU故障类型详解(下)
  • 解读IEC 60502-2 2014
  • 引流网站建设c 转网站开发
  • 新建网站如何做关键词wordpress一句话插件
  • 通过git拉取前端项目