数字系统设计基础PPT课件.ppt

返回 相似 举报
数字系统设计基础PPT课件.ppt_第1页
第1页 / 共26页
数字系统设计基础PPT课件.ppt_第2页
第2页 / 共26页
数字系统设计基础PPT课件.ppt_第3页
第3页 / 共26页
数字系统设计基础PPT课件.ppt_第4页
第4页 / 共26页
数字系统设计基础PPT课件.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述:
数字系统设计基础 Verilog部分 介绍Verilog HDL, 内容包括: Verilog应用 Verilog语言的构成元素 结构级描述及仿真 行为级描述及仿真 延时的特点及说明 介绍Verilog testbench 激励和控制和描述 结果的产生及验证 任务task及函数function 用户定义的基本单元(primitive) 可综合的Verilog描述风格 第一讲Verilog HDL数字系统设 计综述 Verilog概述 结构化设计方法 Verilog建模 硬件描述语言HDL:描述电路硬件及时序的一种编程语言 仿真器:读入HDL并进行解释及执行的一种软件 抽象级:描述风格的详细程度,如行为级和门级 ASIC:专用集成电路(Application Specific Integrated Circuit) ASIC Vender:芯片制造商,开发并提供单元库 自下而上的设计流程:一种先构建底层单元,然后由底层单元构 造更大的系统的设计方法 。 自顶向下的设计流程:一种设计方法,先用高抽象级构造系统, 然后再设计下层单元 RTL级:寄存器传输级(Register Transfer Level),用于设计的可 综合的一种抽象级 Tcl:Tool command Language, 向交互程序输入命令的描述语言 术语定义(terms and definitions) Verilog HDL是在1983年由GDA(GateWay Design Automation)公司 的Phil Moorby所创。Phi Moorby后来成为Verilog-XL的主要设计者和 Cadence公司的第一个合伙人。 在19841985年间,Moorby设计出了第一个Verilog-XL的仿真器。 1986年,Moorby提出了用于快速门级仿真的XL算法。 1990年,Cadence公司收购了GDA公司 1991年,Cadence公司公开发表Verilog语言,成立了OVI(Open Verilog International)组织来负责Verilog HDL语言的发展。 1995年制定了Verilog HDL的IEEE标准,即IEEE1364。 2005年制定了verilog HDL的IEEE新标准,又称Systemverilog V3.1 标准. 1.Verilog的历史 1.1 Verilog 概述 2. Verilog与VHDL 两者的区别: VHDL侧重于系统级描述,从而更多的为系统级设 计人员所采用 Verilog侧重于电路级描述,从而更多的为电路级设 计人员所采用 目前,设计者使用Verilog和VHDL的情况 美国:Verilog: 80%, VHDL: 20% 台湾:Verilog: 50%, VHDL: 50% 中国的微电子设计公司,90%以上采用Verilog,对于 从事FPGA开发设计者,掌握Verilog或VHDL都可以, 对于ASIC设计者,必须掌握Verilog,掌握VHDL。 3.Verilog HDL与 C语言 虽然Verilog的某些语法与C语言接近,但存在本质上的区别 Verilog是一种硬件语言,最终是为了产生实际的硬件电 路或对硬件电路进行仿真 C语言是一种软件语言,是控制硬件来实现某些功能 利用Verilog编程时,要时刻记得Verilog是硬件语言, 要时刻将Verilog与硬件电路对应起来 SystemVerilog and SystemC :面向SOC 4.Verilog的用途 Verilog的主要应用包括: ASIC和FPGA工程师编写可综合的RTL代码 高抽象级系统仿真进行系统结构开发 测试工程师用于编写各种层次的测试程序 用于ASIC和FPGA单元或更高层次的模块的模型开发 1.1.数字数字ICIC设计层次与设计层次与verilogverilog描述描述 抽象层次时序单位基本单元电路的功能描述 系统级数据处理进程及通信 自然语言描述或者相互通信的进 程 算法级运算步运算的控制 行为有限状态机、数据流图、控 制流图 寄存器变 换级(RTL) 时钟周期 寄存器、运算 、变换 布尔方程、二元决策图、有限状 态机 逻辑门级延时 逻辑门、器件 (晶体管) 原理图 电路级物理时间 晶体管、R,L,C 等 电压、电流的微分方程 物理(版 图)级 几何图形 前端后端 1.2 结构化设计方法 Verilog既是一种行为描述的语言也是一种结构描述语言 。Verilog模型可以是实际电路的不同层次的抽象,一般 分为四个抽象级: 系统说明/行为级 -设计文档/算术描述 RTL/功能级 -Verilog 门级/结构级 -Verilog 版图/物理级 -几何图形 行为综合 综合前仿真 逻辑综合 综合后仿真 版图 Verilog设计在抽象级上需要进行折衷 系统说明/行为级 -设计文档/算术描述 RTL/功能级 -Verilog 门级/结构级 -Verilog 版图/物理级 -几何图形 详细程度 低 高 输入/仿真速度 高 低 一个设计可以用任何层次来表示,当设计从上而下进行时,该设计就逐步接近物 理实现,在表示上就更少了一些抽象。但一个设计所需的细节会随着它在层次中 的下降而增加。细节不充分会造成不精确的结果,过多的细节则会使该层次的设 计复杂。 nVerilog 可以在3个抽象级上建模 n+n+ S G D + 版图级 电路级 逻辑门级 RTL级 系统级和算法级 行为描述 (Behavior) 数据流描述 (Data Flow) 结构描述 (Structure) 混合描述 || + + 行为级 l 用功能块之间的数据 流对系统进行描述 l 在需要时在函数块之 间进行调度赋值。 RTL级/功能级 l用功能块内部或功能 块之间的数据流和控制 信号描述系统 l基于一个已定义的时 钟的周期来定义系统模 型 结构级/门级 l用基本单元(primitive)或低层 元件(component)的连接来描 述系统以得到更高的精确性, 特别是时序方面。 l在综合时用特定工艺和低层元 件将RTL描述映射到门级网表 n抽象级(Levels of Abstraction)描述选取 设计工程师在不同的设计阶段采用不同的抽象级 首先在行为级描述各功能块,以降低描述难度,提高仿真速度。 在综合前将各功能模块进行RTL级描述。 用于综合的库中的大多数单元采用结构级描述。在本教程中的结 构级描述部分将对结构级(门级)描述进行更详细的说明。 Verilog还有一定的晶体管级描述能力及算法级描述能力 2.2.自顶向下(自顶向下(Top-Down)Top-Down)的结构化设计方法的结构化设计方法 一个系统由总设计师先进行系统描述,将系统划分为 若干模块,编写模块模型(一般为行为级),仿真验证后, 再把这些模块分配给下一层的设计师,由他们完成模块的 具体设计,而总设计师负责各模块的接口定义 顶层模块 子模块1子模块2子模块3 基本单元基本单元基本单元基本单元基本单元基本单元 (1).相对独立、功能单一的模块结构 结构化设计的基本思想是将系统设计成由多个相对独立、功能单一的模 块组成的结构。由于模块之间相对独立,每一模块就可以单独地被理解 、编写、测试、排错和修改,从而可以有效防止错误在模块之间的扩散 ,提高系统的质量。 (2).“块内联系大,块间联系小”的模块性能标准 模块内部联系要大,模块之间联系要小,这是结构化设计中衡量模块相 对独立性能的标准。事实上,块内联系和块间联系是同一个事物的两个 方面。若把联系密切的成分组织在同一模块中,块内系统高了,块间联 系自然就少了。 (3).采用模块结构图的描述方式 结构化设计方法使用的描述方式是模块结构图,即以图形的方式来表达。 结构化设计方法特点结构化设计方法特点: : (1)分割后最底层的逻辑块应适合用逻辑语言进行表达。如 果利用逻辑图作最底层模块输入方法,需要分解到门,触发 器和宏模块一级;用HDL行为描述语言则可以分解到算法一 级。 (2)考虑共享模块。在设计中,往往会出现一些功能相似的 逻辑模块,相似的功能应该设计成共享的基本模块,象子程 序一样由高层逻辑块调用。这样可以减少需要设计的模块数 目、改善设计的结构化特性。 (3)接口信号线最少。复杂的接口信号容易引起设计错误, 并且给布线带来困难。以交互信号的最少的地方为边界划分 模块,用最少的信号线进行信号和数据的交换为最佳的方法 。 模块划分原则模块划分原则: : (4)结构均称。同层次的模块之间,在资源和IO分配上, 不出现悬殊的差异,没有明显的结构和性能上的瓶颈。 (5)通用性好,易于移植。模块的划分和设计应满足通用性 要求,模块设计应考虑移植的问题。一个好的设计模型块应该 可以在其它设计中使用,并且容易升级和移植;另外,在设计 中应尽可能避免使用与器件有关的特性,即设计具有可移植性 。 1.3 Verilog 建模 现在我们将层次建模的概念和verilog联系起来。verilog使 用模块(module)的概念来代表一个基本的功能块。模块通过 接口(输入和输出)被高层的模块调用,但隐藏了内部的实现细 节。这样就使得设计者可以方便地对某个模块进行修改,而 不影响设计的其他部分。 线。线是器件管脚之间的物理连线; Verilog中用变量wire 器件。等同于模块的概念。Verilog中用module Verilog HDL的建模实际上就是如何使用HDL语言对数字电 路的两种基本要素的特性及相互之间的关系进行描述的过程。 在数字电路设计中,数字电路可简单归纳为两种要素:线和器件。 verilog中,模块声明由关键字module开始,关键字 endmoduIe则必须出现在模块定义的结尾。每个模块必须具 有一个模块名,由它惟一地标识这个模块。模块的端口列表 则描述这个模块的输入和输出端口。 Module (模块端口列表) .. 模块内容 . endmoduIe 简单的例子(数据流方式) module HalfAdder(A, B, Sum, Carry); input A, B; output Sum, Carry; assign #2 Sum=AB; assign #5 Carry=A endmodule Module定义了一 个模块或一个器 件,对模块的描 述是任意的,可 以是行为描述、 数据流描述或结 构描述 顶层模块 子模块1子模块2子模块3 基本单元基本单元基本单元基本单元基本单元基本单元 module top(A, B, ,C,D,); Second_1(); Second_2(); Second_3(); endmodule module second_1(); Third_1(); Third_2(); endmodule module second_2(); Third_3(); Third_4(); endmodule module second_3(); Third_5(); Third_6(); endmodule module Third_1(); .. endmodule module Third_2(); .. endmodule module Third_3(); .. endmodule module Third_4(); .. endmodule module Third_5(); .. endmodule module Third_6(); .. endmodule 例设计一个4位二进制脉动进位计数器 T 触发器 tff0 q T 触发器 tff1 q T 触发器 tff2 q T 触发器 tff2 q q0q1q2q3 clock reset D 触发器 D_FF q clock d reset q T触发器 4位二进制脉动进位计数器由4个T触发 器构成,而很一个T触发器可由一个D触 发器和一个非门构成 脉动进位计数器 T触发器 tff0 T触发器 tff1 T触发器 tff2 T触发器 tff3 D_FF非门D_FF非门D_FF非门D_FF非门 module ripple_carry_counter (q, clk, reset); output 3:0 q; input clk, reset; T_FF tff0(q0,clk,reset); T_FF tff1(q1,q0,reset); T_FF tff2(q2,q1,reset); T_FF tff3(q3,q2,reset); endmodule T 触发器 tff0 q T 触发器 tff1 q T 触发器 tff2 q T 触发器 tff2 q q0q1q2q3 clock reset D 触发器 D_FF q clock d reset q T触发器 module T_FF (q, clk, reset); output q; input clk, reset; wire d; D_FF dff0(q,d,clk,reset); not n1(d,q); endmodule module D_FF (q,d, clk, reset); output q; input d,clk, reset; reg q; always (posedge reset or negedge clk) if (reset) q<=1b0; else q<=d; endmodule
展开阅读全文

最新标签

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2017-2019 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922