当前位置:首页 > 工业控制 > 电子设计自动化

工作内容:
1、设计一个多路选择器,利用ModelSimSE做功能仿真;
2、利用Synplify Pro进行综合,生成xxx.vqm文件;
3、利用Quartus II导入xxx.vqm进行自动布局布线,并生成xxx.vo(Verilog
4、利用ModelSimSE做后仿真,看是否满足要求。

注:
1. 仿真器(Simulator)是用来仿真电路的波形。
2. 综合工具(Synthesizer)的功能是将HDL转换成由电路所组成的Netlist。
3. 一般而言,在电路设计的仿真上可分为Pre-Sim 和Post-Sim。Pre-Sim 是针而Post-Sim则是针对综合过且做完成了Auto Place and Route(APR)的电路进行仿真,以确保所设计的电路实现在FPGA上时,与Pre-Sim 的功能一样。

1、前仿真(Pre-Sim)
步骤一:打开ModelSimSE,然后建立一个Project;
※建立Project的方式为点选File → New → Project…;
※设定Project Name 与Project location,按OK 即可建立Project。

步骤二:新增设计文档或加入文档。
※新增文档的方式为点选File → New → Source → Verilog,然后对文档进行编辑并储存为xxx.v;
※加入文档的方式为点选File → Add to Project → File...,然后点选xxx.v;

步骤三:编译(Compile)。
※编译文档的方式为点选Compile → Compile All,即可编译所有的文档。
※如果编译时发生错误,在显示错误的地方(红字)点两下,即可跳到错误。

步骤四:新增或加入测试平台(Testbench)。
※当设计完电路后,为了确定所设计的电路是否符合要求,我们会写一个测 试平台(Testbench);
※新增或加入测试平台,然后编译它。

步骤五:仿真(Simulate)。
※仿真的方式为点选Simulate → Simulate…;
※打开Design里面的work,然后点选mux_4_to_1_tb 并Add 它,最后按Load 即可跳到仿真窗口。

步骤六:加入信号线。
※在窗口上按右键,然后点选Add → Add to Wave;

步骤七:看波形。
※在工具列上按Run,然后就会显示波形;
※慢慢看波形吧,没有波形就没有真相!

以上就是使用ModelSim做Pre-Sim的基本流程,在此要特别强调的是,ModelSim所有的功能并不仅仅于此,如果你想要了解更多的话,一切都要靠自己花时间去问去试,只有努力的人才能有丰富的收获,加油!

2、综合(Synthesis)
步骤一:打开Synplify Pro,然后建立一个Project。
※先点选File,再点选New;
※选择Project File,并设定File Name与File Location;

步骤二:加入设计文件。
※点选欲加入的xxx.v,然后按Add,再按OK后就可以将档案加入。

步骤三:选择FPGA的Device 与其它相关设定。
※先点选Project,再点选Implementation Options。
※在Device 的设定如下:Technology为Altera Stratix,Part为EP1S10,Speed 为-6,Package 为FC780。
※在Options 的设定是将FSM Compiler与Resource Sharing打勾。
※在Constraints的设定是将Frequency设定至100Mhz。
※在Implementation Results的设定是将Result File Name填入与电路模块相同的名称,而xxx.vgm这个文件会在QuartusII做APR时被使用。然后将下列两个选项打勾(Write Vendor Constraint File与Write Mapped Verilog Netlist)。
※在Timing Report的设定是将Number of Critical Paths与Number of Start/End Points都设为11。
※在Verilog里是将TOP Level Module填入与电路模块相同的名称,然后将 Use Verilog 2001打勾。

步骤四:综合(Synthesis)。
※点选RUN → Synthesize,最后出现Done!就是已经综合完毕。

步骤五:检查综合后的电路。
※先点选HDL Analyst,再点选RTL,最后点选Hierarchal View,画面会出现综合后的电路Netlist。

以上就是使用Synplify将HDL程序合成为电路Netlist的基本流程,值得注意的是,当你针对不同要求而设定的Constraints不同时,你就会得到不同的电路Netlist,所要付出的硬件代价也不同,这就需要大家多花点心思来了解其中的奥妙之处。

3、自动布局布线(APR)
步骤一:开启Quartus II,然后建立一个Project。
※先点选File,再点选New Project Wizard…。
※设定Work Directory,Project Name与Top-Level Entity Name,再按Next。

步骤二:加入设计文件。
※点选Add…,将Synplify合成出来的xxx.vqm加入,再按Next。

步骤三:设定相关的EDA Tools。
※在Tool Type点选Simulation,Tool Name点选ModelSim。

※点选Settings,将Time Scale设定为1 ns。


步骤四:设定Family。
※设定Family为Stratix,再按Next。

步骤五:设定Device。
※设定Device 为EP1S10F780C6,再按Finish,即可完成Project的设定。

步骤六:编译。
※点选Processing → Start Compilation,即可开始编译。

步骤七:完成编译。
※弹出下面窗口即代表编译完毕。

以上就是使用Quartus II对电路Netlist做APR的基本流程,并且利用设定仿真工具所产生的xxx.vo(Verilog Output File)与xxx.sdo(Standard Delay Output File)做后仿真。

4、后仿真(Post-Sim)
步骤一:启动ModelSim,然后建立一个Project。
※建立Project的方式为点选File → New → Project…。
※设定Project Name与Project location,按OK即可建立Project。

步骤二:加入设计文档。
※将xxx.vo更改为xxx.v,然后加入。

步骤三:加入组件库文件。
※由于我们是采用Altera的Cell Library来合成电路,所以合成后的电Netlist里所包括的那些Logic Gates与Flip-Flop 都是出自于Cell Library,所以模拟时要将此Cell Library加入。
※我们所选用的Family是Stratix,所以到QuartusIIedasim_lib 里将Stratix的Cell Library(stratix_atoms.v)加入。

步骤四:加入测试平台。
※加入Pre-Sim的测试平台,并在测试平台里加上`timescale 1ns/100ps。

步骤五:编译。
※编译档案的方式为点选Compile → Compile All,即可编译所有的档案。
※如果编译时发生错误,在显示错误的地方(红字)点两下,即可跳到错误。

步骤六:仿真。
※仿真文件的方式为点选Simulate → Simulate…。

步骤七:加入要观察的信号。
※在窗口上按右键,然后点选Add → Add to Wave。

步骤八:观察波形。

※慢慢看波形吧,没有波形就没有真相!

步骤九:比对Pre-Sim 与Post-Sim。
※很明显地,Post-Sim 的输出有不稳定的信号,并且受到延迟时间的影响。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算

全球领先的高性能现场可编程门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)提供商Achronix Semiconductor公司宣布,该公司参加了由私募股权和风险投资公司Baird Capital举...

关键字: FPGA 智能汽车 eFPGA

全新 FPGA 能为嵌入式视觉、医疗、工业互联、机器人与视频应用提供高数量 I/O、功率效率以及卓越的安全功能

关键字: FPGA 嵌入式视觉 机器人

Altera致力于为客户提供端到端的FPGA、易于使用的AI、软件和弹性供应链。

关键字: FPGA AI

在半导体领域,大部分对于AI的关注都集中在GPU或专用AI加速器芯片(如NPU和TPU)上。但事实证明,有相当多的组件可以直接影响甚至运行AI工作负载。FPGA就是其中之一。

关键字: FPGA AI 半导体

半导体产品老化是一个自然现象,在电子应用中,基于环境、自然等因素,半导体在经过一段时间连续工作之后,其功能会逐渐丧失,这被称为功能失效。半导体功能失效主要包括:腐蚀、载流子注入、电迁移等。其中,电迁移引发的失效机理最为突...

关键字: 半导体 电迁移 FPGA
关闭
关闭