nullnull
数字集成电路设计入门
--从HDL到版图
于敦山
北大微电子学系第二章 Verilog 应用第二章 Verilog 应用学习
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
使用HDL设计的先进性
Verilog的主要用途
Verilog的历史
如何从抽象级(levels of abstraction)理解
电路设计
Verilog描述术语定义(terms and definitions)术语定义(terms and definitions)硬件描述语言HDL:描述电路硬件及时序的一种编程语言
仿真器:读入HDL并进行解释及执行的一种软件
抽象级:描述风格的详细程度,如行为级和门级
ASIC:专用集成电路(Application Specific Integrated Circuit)
ASIC Vender:芯片制造商,开发并提供单元库
自下而上的设计
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
:一种先构建底层单元,然后由底层单元构造更大的系统的设计方法 。
自顶向下的设计流程:一种设计方法,先用高抽象级构造系统,然后再设计下层单元
RTL级:寄存器传输级(Register Transfer Level),用于设计的可综合的一种抽象级
Tcl:Tool command Language, 向交互程序输入命令的描述语言什么是硬件描述语言HDL什么是硬件描述语言HDL具有特殊结构能够对硬件逻辑电路的功能进行描述的一种高级编程语言
这种特殊结构能够:
描述电路的连接
描述电路的功能
在不同抽象级上描述电路
描述电路的时序
表达具有并行性
HDL主要有两种:Verilog和VHDL
Verilog起源于C语言,因此非常类似于C语言,容易掌握
VHDL起源于ADA语言,
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
严谨,不易学习。
VHDL出现较晚,但标准化早。IEEE 1706-1985标准。为什么使用HDL为什么使用HDL使用HDL描述设计具有下列优点:
设计在高层次进行,与具体实现无关
设计开发更加容易
早在设计期间就能发现问题
能够自动的将高级描述映射到具体工艺实现
在具体实现时才做出某些决定
HDL具有更大的灵活性
可重用
可以选择工具及生产厂
HDL能够利用先进的软件
更快的输入
易于管理
Verilog的历史Verilog的历史Verilog HDL是在1983年由GDA(GateWay Design Automation)公司的Phil Moorby所创。Phi Moorby后来成为Verilog-XL的主要设计者和Cadence公司的第一个合伙人。
在1984~1985年间,Moorby设计出了第一个Verilog-XL的仿真器。
1986年,Moorby提出了用于快速门级仿真的XL算法。
1990年,Cadence公司收购了GDA公司
1991年,Cadence公司公开发表Verilog语言,成立了OVI(Open Verilog International)组织来负责Verilog HDL语言的发展。
1995年制定了Verilog HDL的IEEE标准,即IEEE1364。Verilog的用途Verilog的用途Verilog的主要应用包括:
ASIC和FPGA工程师编写可综合的RTL代码
高抽象级系统仿真进行系统结构开发
测试工程师用于编写各种层次的测试程序
用于ASIC和FPGA单元或更高层次的模块的模型开发抽象级(Levels of Abstraction)抽象级(Levels of Abstraction)Verilog既是一种行为描述的语言也是一种结构描述语言。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别包括:系统说明
-设计文档/算法描述
RTL/功能级
-Verilog
门级/结构级
-Verilog
版图/物理级
-几何图形行为综合
综合前仿真
逻辑综合
综合后仿真
版图抽象级(Levels of Abstraction)抽象级(Levels of Abstraction)在抽象级上需要进行折衷系统说明
-设计文档/算术描述
RTL/功能级
-Verilog
门级/结构级
-Verilog
版图/物理级
-几何图形详细程度
低
高输入/仿真速度
高
低抽象级(Levels of Abstraction)抽象级(Levels of Abstraction)Verilog可以在三种抽象级上进行描述行为级
用功能块之间的数据流对系统进行描述
在需要时在
函
关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函
数块之间进行调度赋值。
RTL级/功能级
用功能块内部或功能块之间的数据流和控制信号描述系统
基于一个已定义的时钟的周期来定义系统模型
结构级/门级
用基本单元(primitive)或低层元件(component)的连接来描述系统以得到更高的精确性,特别是时序方面。
在综合时用特定工艺和低层元件将RTL描述映射到门级网表抽象级(Levels of Abstraction)抽象级(Levels of Abstraction)设计工程师在不同的设计阶段采用不同的抽象级
首先在行为级描述各功能块,以降低描述难度,提高仿真速度。
在综合前将各功能模块进行RTL级描述。
用于综合的库中的大多数单元采用结构级描述。在本教程中的结构级描述部分将对结构级(门级)描述进行更详细的说明。
Verilog还有一定的晶体管级描述能力及算法级描述能力行为级和RTL级行为级和RTL级MUX的行为可以描述为:只要信号a或b或sel发生变化,如果sel为0则选择a输出;否则选择b输出。module muxtwo (out, a, b, sel);
input a, b, sel;
output out; reg out;
always @( sel or a or b)
if (! sel) out = a;
else out = b;
endmodule这个行为级RTL描述不处理X和Z状态输入,并且没有延时。
在行为级模型中,逻辑功能描述采用高级语言结构,如@, while,wait,if, case。
Testbench(test fixture)通常采用行为级描述。所有行为级结构在testbench描述中都可以采用。
RTL模型中数据流都是基于时钟的。任何时钟元件在时钟沿处的行为都要精确描述。RTL级描述是行为级Verilog的子集。结构级描述结构级描述结构级Verilog适合开发小规模元件,如ASIC和FPGA的单元
Verilog内部带有描述基本逻辑功能的基本单元(primitive),如and门。
用户可以定义自己的基本单元UDP(User Defined Privitives)
综合产生的结果网表通常是结构级的。用户可以用结构级描述粘接(glue)逻辑。
下面是MUX的结构级描述,采用Verilog基本单元(门)描述。描述中含有传输延时。module twomux (out, a, b, sl);
input a, b, sl;
output out;
not u1 (nsl, sl );
and #1 u2 (sela, a, nsl);
and #1 u3 (selb, b, sl);
or #2 u4 (out, sela, selb);
endmodule综合不支持!仅需一种语言仅需一种语言Verilog的一个主要特点是可应用于各种抽象级。建模时可采用门级和RTL级混合描述,在开发testfixture时可以采用行为级描述。复习复习什么是Verilog ?
Verilog是公开的吗?
设计时什么时候采用Verilog RTL级描述?
Verilog适合做什么样的设计?解答:
Verilog是用于硬件描述的具有时间概念的并行编程语言
Verilog是一种公开语言, 由OVI负责组织,有IEEE1394标准
RTL描述用于综合,或用于必须精确到每个时钟周期的模型的建模。
Verilog适用于各种抽象级模型的开发及验证