verilog 生成块_Verilog数字系统设计教程之学习摘要

1、FPGA结构

其采用了逻辑单元陈列的概念,内部包括:可配置逻辑模块CLB、输出输入模块IOB、内部连线。

2、软核、硬核以及固核的概念

IP核(Intellectual Property core)是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体中工艺中。

软核(soft IP core):软核在EDA设计领域指的是综合之前的寄存器传输级(RTL)模型;具体在FPGA设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。

固核(Firm IP core):在FPGA设计中可以看做带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。

硬核(Hard IP core):在FPGA设计中,指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。

3、FPGA是可编程芯片,因此FPGA的设计方法包括硬件设计和软件设计两部分。

27ef5a48849a308c0c5f027ff1e815e4.png

4865b63c930e0559153d0316a478e218.png

4、FPGA设计采取“自顶向下”的设计理念:系统级设计→二级单元→...→基本模块或IP核

5、布局布线:利用实现工具,把逻辑映射到目标器件结构的资源中,即将综合生成的逻辑网表配置到具体的FPGA芯片上。

6、FPGA器件选型有以下7个原则:

  • 器件的供货渠道和开发工具的支持;
  • 器件的硬件资源:逻辑资源、I/O资源、布线资源、DSP资源、存储器资源、 锁相环资源、串行收发器资源和硬核微处理器资源等。
  • 器件的电气接口标准;
  • 器件的速度等级;
  • 器件的温度登记;
  • 器件的封装和器件的价格。

7、保持时间:不要让CLK和输入对齐。

8、Verilog HDL模块可以分为两种类型:一种是为了让模块最终能生成电路的结构;另一种只是为了测试所设计电路的逻辑功能是否正确。

9、如果不用initial块,是否能产生测试时钟?不能。

10、initial块和always块有什么不同?initial执行一次,不可综合;always循环执行,可综合。

11、verilog的基本设计单元是“模块”。

f1de8b7df6e92f7654536f133ed98d24.png

即定义输入是如何影响输出的。

12、Verilog程序包括4个主要部分:端口定义、I/O说明、内部信号声明、功能定义。

13、采用“assign”语句是描述组合逻辑最常用的方法之一,而“always”块既可用于描述组合逻辑,也可用于描述时序逻辑。

14、在数字电路中,X表示不定值,Z代表高阻值。

15、在一个模块中改变另一个模块的参数时,需要使用defparam命令。

16、网络数据类型wire或tri表示结构实体(例如门)之间的物理连接。网络类型的变量不能储存值,而且它必须受到驱动器(例如门或连续赋值语句)的驱动。如果没有驱动器连接到网络类型的变量上,则该变量就是高阻的。

reg类型数据的默认初始值为不定值X。

2020.09.26 本笔记皆来自夏宇闻《verilog数字系统设计教程》

iscas2spice spice netlist generation tool -- version 2.2 by Jingye Xu @ VLSI Group, Dept. of ECE, UIC, June, 2008 This tool reads the ISCAS85 benchmark circuit "*.bench" file and translate the file into SPICE netlist using the given technology and the standard cell library. platform: linux x86 sytem Input: ISCAS85 benchmark circuit: *.bench; standard cell library: stdcells.sclb; standard cell models: stdcells.lib; interconnect paramaters: *.int; Output: SPICE netlist: out.sp The whole procedure of the tools can be divided into several steps: 1. Gate replacement: replace the gates that can't be found in the with the gates in the standard cell lib. (break.pl) Output: *.bench, *.bench.bak 2. Generate the GSRC files: generate the GSRC files for the fengshui placer. (gsrcgen.pl) Output: gsrcfile/iscas.* 3. Placement: using the fengshui placement tool to perform the component placement. (fs50) Output: gsrcfile/iscas_fs50.pl 4. Generate ISPD file: tanslate the placement results into ISPD98 format file that can be used as the input of the global router. (gsrc2ispd.pl) Output: gsrcfile/iscas.laby.txt 5. Perform the routing: use the labyrinth global router to perform the routing. (mazeRoute) Output: gsrcfile/output 6. Generate the SPICE netlist: use all the available information to generate the final SPICE netlist. (spicegen.pl) Output: out.sp Usage: iscas2spice.pl Iscas85BenchmarkFile [-C/L/N] options: -C :default value, use the RC model for interconnect -L :use the RLC model for interconnect -N :treat interconnect as short circuit wire This package used the fengshui placement tools and labyrinth global routing tools, for information regarding these two free tools, please vist: http://www.ece.ucsb.edu/~kastner/labyrinth/ http://vlsicad.cs.binghamton.edu/software.html For information regarding this software itself please visit: http://wave.ece.uic.edu/~iscas2spice Many thanks to my advisor Masud H. Chowdhury for his support!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值