工学Verilog数字系统与FPGA设计概述_第1页
工学Verilog数字系统与FPGA设计概述_第2页
工学Verilog数字系统与FPGA设计概述_第3页
工学Verilog数字系统与FPGA设计概述_第4页
工学Verilog数字系统与FPGA设计概述_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一讲 数字系统与FPGA设计概述 西安邮电学院 数字系统设计与FPGA应用 主讲教师:陈文艺 西安邮电学院 第一讲 数字系统与FPGA设计概述 西安邮电学院 第 一讲 数字系统与FPGA设计概述 内容: ? 数字系统概述 ? 数字逻辑设计基础器件和概念 ? 可编程逻辑器件概述 ? 可编程逻辑器件中的IP核概述 ? 数字系统设计方法 ? FPGA设计流程 ? Verilog HDL概述 第一讲 数字系统与FPGA设计概述 西安邮电学院 数字系统概述 ? 常见数字系统:微处理机系统、数字信号处理系统、 数字通信系统、数字编解码和加解密电路、数字多功 能智能接口等。目前数字系统单片等效逻辑门总数达

2、 到几百甚至几千万门的已较常见。 存储器 ?数字系统的组成:数字系统通常由输入电路、输出电路、 控制电路、数字处理电路和存储器组成 。 控制 电路 数字处理 电路 输入 电路 输出 电路 第一讲 数字系统与FPGA设计概述 西安邮电学院 数字系统实现方法 ? 通用集成电路。 如:74 系列 ,4000 系列等,电路体积 大、重量大、功耗大、可靠性低。(70、80年代主流) ? 专用 集成 电路ASIC(ApplicationSpecific Integrated Circuits) ,如:Modem, MP3decoder等。(90年代盛 行,现在大规模产品中继续使用) ? 可编程逻辑阵列(

3、Programmable Logic Device )。如: Xilinx的spartan 系列,Altera的Cyclone系列。 (现在 逐步蚕食ASIC的低端市场,并将成为一种主流方法) ? 通用微处理器、DSP。如8051单片机、ARM32位MCU, TMS320C5x 系列DSP等。 (80年代,现在仍为一种主 流方法) ? 混合使用各种器件,发挥各自的优势。(发展趋势) 第一讲 数字系统与FPGA设计概述 西安邮电学院 数字逻辑设计基础器件和概念 1单元与层次 单元与层次 ? 在数字逻辑设计中, 一般采用基本构造模块来组成数 字系统。 通常将这种基本构造模块(无论简单还是复 杂)称

4、作单元(cell)。 ? 基本单元是系统的基本构成模块。 通过对基本单元进 行组合, 可以构成较大、 较复杂的A、B、C单元, 而 A、B、C单元进一步用于构成更大的X单元和Y单元。 这种设计方式可称作层次设计方法。 第一讲 数字系统与FPGA设计概述 西安邮电学院 图 2- 1 层次设计的级别 第一讲 数字系统与FPGA设计概述 西安邮电学院 2基本逻辑电路 任何复杂的数字系统从原理上而言,最终都可以 分解成基本的逻辑门和存储器元件。 1) 逻辑门 逻辑门是设计数字系统的基础。最基本的逻辑门 有与门、 或门、 非门三种, 由此导出的逻辑门有与非 门、 或非门、 异或门等, 如与非门是由与门和

5、非门结 合起来的逻辑门, 或非门是由或门和非门结合起来的 逻辑门。在输入输出和总线设计中还常用到 三态门。 常用逻辑门的逻辑符号及真值表如图 所示。 第一讲 数字系统与FPGA设计概述 西安邮电学院 图 2- 2 常用门的表示 与 门: AB 0 0 1 1 0 1 0 1 A B 0 0 0 1 A B A B 或 门: AB 0 0 1 1 0 1 0 1 AB 0 1 1 1 A B AB 非 门: AA 01 10 AA 与非门: AB 0 0 1 1 0 1 0 1 1 1 1 0 A B 或非门: AB 0 0 1 1 0 1 0 1 1 0 0 0 A B A B A B BA+

6、 BA+ 三态门: A AS 0 0 1 1 1 0 0 B 0 1 Z Z B S 1 第一讲 数字系统与FPGA设计概述 西安邮电学院 逻辑门相关基本概念逻辑门相关基本概念 ? 四值逻辑:逻辑值1、 逻辑值0、未知值X 、高阻值Z。 ? 逻辑器件延时:0=1 上升延时, 1=0 下降延时, 0、1、x=Z 关断延时。惯性延时。 ? 逻辑路径延时:逻辑器件间互连线的延时。传输延时。 ? 逻辑器件扇出:定义逻辑器件输出连接的负载数目为扇出。如一 个非门的输出连接了三个逻辑门的输入,则称该非门的扇出为3。 扇出越大,负载越大,等效传输延时越大。 ? 逻辑器件负载模型: CMOS逻辑器件的负载可等

7、效为RC电路,负载 越多,电容越大。 第一讲第一讲 数字系统与数字系统与FPGAFPGA设计概述设计概述 西安邮电学院 逻辑门相关基本概念 ? 组合逻辑的竞争:门电路多个输入信号同时向相反的逻辑电平跳转。 ? 组合逻辑的冒险:竞争导致逻辑输出出现不正确的尖峰信号,称为 “毛刺毛刺”。组合逻辑电路中有“毛刺”出现,就说明该电路存在 “冒险冒险”。 A B Y Y t? IL(max) V A B IL(max) V A B Y Y t? A B IH(min) V IH(min) V 第一讲 数字系统与数字系统与FPGA设计概述 西安邮电学院 2) 触发器 ? 我们把具有存储记忆一位二值信号功能

8、的基本单元电 路称为触发器。 ? 根据触发器电路结构和功能的不同, 可以分为RS触发 器、 JK触发器、 D触发器、 T触发器和T触发器等 ? 在目前的数字系统同步电路设计中,一般只使用D触发 器。 ? 在异步电路设计中用到RS触发器和其它触发器。 第一讲 数字系统与FPGA设计概述 西安邮电学院 ?(a) 符号; (b) 功能特点 ;(c)建立、保持时间 ?“建立时间”定义为在时钟跳变前数据必须保持稳定 (无跳变)的时间。 “保持时间” 定义为在时钟跳变 后数据必须保持稳定的时间。 D触发器 触发器 D( t ) D D Q Q Q(t ) )( Q t CLK (a)(b) 0 11 D(

9、t )Q(t T) 0 Q(t T )D(t) D CLK 建立 时间 保持 时间 (c) Clear 第一讲 数字系统与FPGA设计概述 西安邮电学院 D触发器的亚稳态(metastability) 概念 ? 当某个异步信号被送入一个同步触发器时,就可能发生亚稳态现 象。如图所示,当输入D与时钟CLK1同时在亚稳态时间窗内翻转 时,D触发器的输出可能出现一种不是1,也不是0的不确定中间 状态,并可能维持一段时间,称亚稳态。 DQ CLK1 异步输入 输出 CLK1 D Q 亚稳态 亚稳态 时间窗 第一讲 数字系统与FPGA设计概述 西安邮电学院 D触发器的亚稳态特性 触发器的亚稳态特性 ?

10、亚稳态是触发器的固有特性,不可能消除,只能尽量 减小亚稳态的持续时间。一般器件供应商会提供MTBF (mean time between failures)和tMET数据供设计参 考。 ? MTBF:两次亚稳态出现的统计平均间隔时间。 ? tMET:亚稳态持续的统计平均时间。 ? 祥见AN042:ALTERA器件的亚稳态问题 ? 设计中尽量避免出现亚稳态问题,采用同步设计是目 前最好的办法。在异步电路与同步电路接口处常用同 步器处理,在异步电路设计中要专门处理。 第一讲 数字系统与FPGA设计概述 西安邮电学院 D触发器的亚稳态参数 触发器的亚稳态参数 MTBF:两次亚稳态出现的统计平均间隔时

11、间 tMET:亚稳态持续的统计平均时间。 常用异步信号与同步电路接口的同步器电路 第一讲 数字系统与FPGA设计概述 西安邮电学院 可编程逻辑实验数字系统 第一讲 数字系统与FPGA设计概述 西安邮电学院 ? 当今社会是数字化社会, 数字集成电路应用非常广泛, 其发展从电子管、 晶体管、SSI、 MSI、 LSI、VLSI到 ULSI, 其规模几乎平均每18个月翻一番(摩尔定律)。 ? ASIC 是专门为某一应用领域或某一专门用户需要而设 计制造的集成电路。特点:量产成本低,但开发周期长, 投入大,风险大,特别是到0.18微米后,投片费大增。 ? 可编程逻辑器件PLD(Programmable

12、 Logic Device)是 从可编程逻辑阵列和ASIC中发展出来的新器件。特点: 开发周期短,设计修改灵活,无投片费,量产成本较高。 可编程逻辑器件的发展概况可编程逻辑器件的发展概况 第一讲 数字系统与FPGA设计概述 西安邮电学院 ASIC的分类 PROMEPROMEEPROMPLAPALGALFPGACPLD 简单低密度 PLD 复杂高密度 PLD 门阵列标准单元PLD 半定制全定制线性阵列模拟标准单元 数字ASIC 模拟ASIC ASIC 第一讲 数字系统与FPGA设计概述 西安邮电学院 标准单元ASIC 第一讲 数字系统与FPGA设计概述 西安邮电学院 门阵列ASIC 第一讲 数字

13、系统与FPGA设计概述 西安邮电学院 可编程逻辑器件(PLD) 第一讲 数字系统与FPGA设计概述 西安邮电学院 可编程门阵列FPGA (Field programmable gate array) 第一讲第一讲 数字系统与数字系统与FPGAFPGA设计概述设计概述 西安邮电学院 可编程逻辑器件的分类可编程逻辑器件的分类 从用户可编程角度分类: PLD 简单PLD PROM(可编程只读存储器,70年代) PLA(可编程逻辑阵列,70年代中) PAL(可编程阵列逻辑,70年代末) GAL(通用阵列逻辑,80年代中) 复杂PLD CPLD FPGA 第一讲 数字系统与FPGA设计概述 西安邮电学院

14、 可编程逻辑器件的基本结构 1 任何组合函数都可表示为与或表达式: BCDBAF+? 用两级与或电路实现 ?由“与门阵列”和“或门阵列”加上输入输出电路构成 与 门 阵 列 或 门 阵 列 反馈输入信号 互补 输入 乘积项和 项 输 入 电 路 输入 信号 输 出 电 路 输出 函数 第一讲 数字系统与FPGA设计概述 西安邮电学院 PROM阵列结构图 I 2 I 1 I 0 Q 0 Q 1 Q 2 或门阵 列 (可编程 ) 与门阵 列 (固定) 第一讲 数字系统与FPGA设计概述 西安邮电学院 用PROM阵列实现组合逻辑电路 BABAF?+? 1 BABAF?+? 2 BAF? 3 第一讲

15、数字系统与FPGA设计概述 西安邮电学院 GAL的阵列结构图 I 2 I 1 I 0 Q 0 Q 1 Q 2 或门阵 列 (固定) 与 门阵 列 (可编程 ) 第一讲 数字系统与FPGA设计概述 西安邮电学院 GAL22V10的OLMC CLK SR AR 3 2 1 0 4选1 MUX S1S2 0 1 2选1 MUX D S1 输出增加D 触发器 第一讲 数字系统与FPGA设计概述 西安邮电学院 可编程逻辑器件的基本结构 2 ? 查找表(Look Up Table)实际上是用静态存储器 (SRAM)构成函数发生器。 A C B D 16 1 RAM (LUT) F 可一实现任意4变量的组合

16、电路 输入变量 输出变量 第一讲 数字系统与FPGA设计概述 西安邮电学院 ? 逻辑阵列块(LAB):LAB由16个宏单元阵列组成。 ? 宏单元:宏单元: 器件的宏单元可以单独配置成时序逻辑或者 组合逻辑工作方式。 ? I/O控制块:输入输出控制单元是内部信号到 I/O引 脚的接口部分, 可控制I/O引脚单独地配置为输入、 输出或双向工作方式。 ? 可编程连线阵列( PIA):通过可编程PIA可把器件中 任一信号源连接到其目的地, 所有MAX7000A的专用输 入、 I/O引脚和宏单元输出均馈送到PIA, PIA可把这 些信号送到器件内的各个地方。 CPLD的基本结构(以MAX7000A为例)

17、 第一讲 数字系统与FPGA设计概述 西安邮电学院 Altera的MAX7000A系列器件基本结构 INP UT/GCLK1 INP UT/OE2/GCLK2 INPUT/OE1 INP UT/GCLR n 36 I/O 控 制 块 宏单元 334826 个I/O 引脚 36 LAB C 216 16 216 6 P IA I/O 控 制 块 宏单元 116 26 个 I/O引脚 LAB A 216 16 216 6 216 I/O 控 制 块 宏单元 173226 个 I/O引脚 LAB B 216 16 216 6 36 216 I/O 控 制 块 宏单元 496426 个I/ O引脚 L

18、AB D 216 216 16 216 6 36 216 第一讲 数字系统与FPGA设计概述 西安邮电学院 MAX7000A的宏单元 36个来自 P IA的信号16个扩展乘积项 乘积项 选择 矩阵 共享扩展项 清除 选择 全局 清除 全局 时钟 VCC 时钟/使能 选择 CLR N ENA PRN D/T Q 去I/O 控制块 去PIA 2 来自 I/O引脚 快速输 入选择 可编程 寄存器 寄存器 旁路 逻辑阵列 并联扩展项 (来自其它宏单元) 第一讲 数字系统与FPGA设计概述 西安邮电学院 MAX7000A的PIA结构 到LAB P IA信号 第一讲 数字系统与FPGA设计概述 西安邮电学

19、院 MAX7000A的I/O控制块 P IA 电压摆率控制 漏极开路控制 来自宏单元 快速输入到宏单元寄存器 到P IA 到其它I /O引脚 GN D VCCOE 选择多路复用器 6个全局使能信号 第一讲 数字系统与FPGA设计概述 西安邮电学院 ? FPGA是由ASIC的门阵列(Gate Array)发展出来的。 ? 按逻辑功能块的大小分类, FPGA可分为细粒度FPGA和 粗粒度FPGA。 ? 细粒度FPGA的逻辑功能块较小,资源可以充分利用, 但连线和开关多,速度慢。(ACTEL) ? 粗粒度FPGA的逻辑功能块规模大, 功能强, 但资源 不能充分利用。(XILINX, ALTERA)

20、? 根据编程方式, FPGA可分为一次编程型(PROM)和 可重复编程型(SRAM,FLASH)两类。 FPGA的分类 第一讲 数字系统与FPGA设计概述 西安邮电学院 FPGA的基本结构 可编程输入/输出模块 可编程逻辑模块 可编程开关矩阵 C L B CLB CLB CLBCLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB 互连资源 第一讲 数字系统与FPGA设计概述 西安邮电学院 XC4000的CLB基本结构 G 1 G4 逻辑 G 函数 G 4 G 3 G2 G1 G F1 F4 逻辑 F 函数 F4 F3 F2 F1 F F,G,H 1 逻

21、辑 H 函数 H Q DIN F G H G H DIN F G H D ECR D SDYQ S/R 控制 H1 DIN S/R EC Q XQ S/R 控制 Y D EC R D SD F H X 1 1 时钟 C 1 C 2 C 3 C 4 信号变换电路 由配置程序控制的多路开关 第一讲 数字系统与FPGA设计概述 西安邮电学院 XC4000的IOB基本结构 摆率 控制 上拉/下 拉电阻 VCC OE 输出 D 触发器 Q 输出 时钟 输出 缓冲器 I 1 I 2 Q延时 输入 缓冲器 输入 时钟 D 触发锁 存器 I/O 连至CLB 第一讲 数字系统与FPGA设计概述 西安邮电学院 X

22、C4000的单长度线和双长度线结构 PSMPSM PSMPSM CLBCLB CLBCLBCLB CLB CLBCLBCLB 双长度线 单长度线 双长度线 第一讲 数字系统与FPGA设计概述 西安邮电学院 FPGA的发展趋势 ? 先进的工艺:FPGA由于自身的特点总是采用最先进的工艺,目前 Xilinx的65纳米产品已经问世。等效系统门超过1000万门,时钟超 过500MHz,器件价格低廉。 ? 嵌入处理器内核:如Altera公司的FPGA嵌入DSP core、ARM7处理 器,提供NIOS软处理器;Xilinx公司的FPGA嵌入Power PC450处 理器,DSP Block,Micro

23、Blaze软处理器等。FPGA内部嵌入处理 器,使FPGA具备了实现软硬件联合系统的能力,并逐步成为SOC (system on chip)的高效设计平台。 ? 硬核与结构化ASIC:如何使FPGA和ASIC扬长避短?一是在FPGA 中嵌入硬核(ASIC模块);另一个是在ASIC中嵌入部分可编程的 资源,或将FPGA直接转化为ASIC,称结构化ASIC。 第一讲 数字系统与FPGA设计概述 西安邮电学院 内嵌功能模块内嵌功能模块 ? 全局时钟、 复位线 ? 内嵌静态 存储器 ? PLL ? 乘法器 ? MCU ? 专用IO 第一讲 数字系统与FPGA设计概述 西安邮电学院 数字系统设计方法数字

24、系统设计方法 ? 自顶向下(TopDown)设计方法:是一种概念驱动的设 计法。该方法要求在整个设计过程中尽量运用行为描 述去定义设计对象,而不要过早考虑实现设计对象的 具体电路、元器件和工艺,以便抓住主要矛盾,避开 具体细节。只有当整个设计在行为上得到验证与优化 后,才考虑具体实现问题。 ? 自底向上(BottomUp)设计方法:与自顶向下设计正 好相反,首先要根据系统的设计要求,从现有可用的 元件中选择合适的元件,设计成一个个部件,当一个 部件不能直接实现系统的某个功能时,需要由多个部 件组合去实现,直到满足系统全部要求为止。 第一讲 数字系统与FPGA设计概述 西安邮电学院 自顶向下(T

25、opDown)设计方法 制定系统设计规范,系统级设计, 划分模块,建立系统行为模型(c 语言、matlab、system C等),并 进行系统功能仿真。 完成模块设计和仿真(HDL语言), 模块互联,并进行系统功能仿真。 电路综合产生门级电路,物理实 现,系统测试。 特点:特点: ?整个设计在系统级和模 块级上都进行功能仿真, 系统级的问题在系统级解 决,模块级问题在模块级 解决。系统的复杂性得到 有效控制,便于系统优化。 ?设计的主要工作与具体 物理实现无关,便于移植 到不同的工艺和制造商实 现。 ?由于是整体设计,不便 于设计重用。 第一讲 数字系统与FPGA设计概述 西安邮电学院 自底向

26、上(BottomUp)设计方法 制定系统设计规范,系统级设计, 划分模块。从现有可用的元件中选 择合适的元件。 由选择的元件构成一个个部件。当 一个部件不能直接实现系统的某个 功能时,需要由多个部件组合去实 现。 由所有部件组成满足要求的系统 特点: ?可以继承使用经过验 证的、成熟的器件或部 件,从而实现设计的重 用。 ?不足是设计人员的设 计受限于现成可用的元 件,不能实现系统的优 化设计。 第一讲 数字系统与FPGA设计概述 西安邮电学院 混合设计(TD L1= L2; 第一讲 数字系统与FPGA设计概述 西安邮电学院 2)硬件描述语言输入方式 硬件描述语言输入方式 ? 硬件描述语言是用

27、文本方式描述设计,它分为特殊硬 件描述语言和标准HDL描述语言。 ? 标准HDL描述语言是目前常用的高层硬件描述语言, 主要有VHDL和Verilog HDL两个IEEE标准。 其突出优 点有: 语言与工艺的无关性,用不着对底层的电路和 PLD结构的熟悉,可以使设计人员在系统设计、逻辑 验证阶段便确立方案的可行性。 ? HDL描述语言具有分级描述能力。可以从晶体管级、 门级、行为级和系统级对数字电路进行完整的描述。 HDL语言实现了数字电路在不同层次上描叙的统一。 第一讲 数字系统与FPGA设计概述 西安邮电学院 采用VerilogHDL设计三人表决器 module majority_vote

28、r(SW1,SW2,SW3,L1,L2); output L1,L2; input SW1,SW2,SW3; wire SW12,SW23,SW13; assign SW12 = SW1 assign SW23 = SW2 assign SW13 = SW1 assign L2 = SW12 | SW23 | SW13; assign L1 = L2; endmodule 第一讲 数字系统与FPGA设计概述 西安邮电学院 3.功能仿真 功能仿真 ? 功能仿真也叫前仿真。设计的电路必须在编译之前进 行逻辑功能验证, 此时的仿真没有延时信息, 对于初 步的功能检测非常方便。 ? 仿真前 要先利用波

29、形编辑器和硬件描述语言等建立波 形文件和测试向量(即将所关心的输入信号组合成序 列), ? 仿真结果将会生成报告文件和输出信号波形, 从中便 可以观察到各个节点的信号变化。 如果发现错误, 则 返回设计输入中修改逻辑设计。 第一讲 数字系统与FPGA设计概述 西安邮电学院 三人表决器功能仿真波形 输出信号无延时 第一讲 数字系统与FPGA设计概述 西安邮电学院 4.设计处理 设计处理 设计处理是器件设计中的核心环节。在设计处理过 程中, 编译软件将对设计输入文件进行: ? 语法检查和设计规则检查。 ? 逻辑优化、综合。化简所有的逻辑, 使设计所占用的 资源最少。 综合的目的是将HDL设计转换为

30、基本逻辑 门电路网表文件。 ? 适配和分割:将设计分割为多个便于识别的逻辑小块 形式映射到器件相应的宏单元中。 ? 布局和布线:以最优的方式对逻辑元件布局,并准确 地实现元件间的互连。 第一讲 数字系统与FPGA设计概述 西安邮电学院 综合综合 HDL描述 转换 引擎 2级逻辑功能 优化后逻辑工艺实现网表 工艺库 优化 引擎 映射 引擎 ?逻辑综合是由一个逻辑电路的HDL描述转换到一个电 路结构描述的过程,最终得到一个由基本逻辑电路 构成的结构化网表。 第一讲 数字系统与FPGA设计概述 西安邮电学院 采用VerilogHDL设计三人表决器综合结果 综合优化后逻辑电路 适配和分割后FPGA工艺

31、实现网表电路 第一讲 数字系统与FPGA设计概述 西安邮电学院 布局与布线布局与布线 ? 布局:是将工艺实现网表电路排放在硅片的合适位置上。 ? 布线:是连接工艺实现网表电路间的互连线。 用Altera公司 的FPGA器件 EP1C3实现 三人表决器, 用到2910个 LE中的1个。 输入 输出 第一讲 数字系统与FPGA设计概述 西安邮电学院 5.时序仿真 时序仿真 ? 时序仿真又称后仿真或延时仿真。 ? 由于不同器件的内部延时 不一样,不同的布局布线方 案也给连线延时造成不同的影响, 因此在设计处理以 后, 对系统和各模块进行时序仿真。 ? 时序仿真分析实现电路的时序关系,估计设计的性能,

32、 以及检查和消除竞争冒险、触发器建立保持时间等问 题。 ? 时序仿真是与实际器件工作情况基本相同的仿真。 第一讲第一讲 数字系统与数字系统与FPGAFPGA设计概述设计概述 西安邮电学院 三人表决器时序仿真波形三人表决器时序仿真波形 输出信号延时 第一讲 数字系统与FPGA设计概述 西安邮电学院 6.器件编程测试 器件编程测试 ? 布局布线完成后, 软件就可产生供器件编程使用的数据文件,然 后可通过PC接口将编程数据下载到对应的具体可编程器件中去。 ? 器件编程使用的数据文件也可以存在PROM或FLASH存储器中, 在系统上电时由FPGA主动将编程数据加载到 可编程器件中去。 ? 编程数据加载

33、到可编程器件中后,可进行相关测试。 第一讲 数字系统与FPGA设计概述 西安邮电学院 FPGA/CPLD 设计软件设计软件 ? xilinx 的Foundation、ISE.Altera 的MAX+plus2 , Quartus。 ? VHDL/Verilog 的仿真器,如Mentor 的ModelSim,Cadence的 Verilog-XL,NC-Verilog,Synopsys的VCS,Aldec 的Active-HDL 。 ? FPGA/CPLD 设计的HDL 综合器为: Synopsys 公司的FPGA Compiler、FPGA Express; Synplicity 公司的Syn

34、plify Pro 综合器; Mentor 子公司Exemplar Logic 的Leonardo Spectrum 综合器; 第一讲 数字系统与FPGA设计概述 西安邮电学院 硬件描述语言历史 ? VHDL于1980年开始在美国国防部的指导下开发,完成于1983年, 并于1987年成为IEEE的标准。当初开发这种语言,是出于美国国 防部采购电子设备的需要。 ? 通过VHDL,供应商要把自己生产的集成电路芯片的行为描述出来。 如果有必要让其他厂商生产代用品,他们只需照着VHDL文档,设 计出行为与其相同的芯片。 ? Verilog HDL是由Gateway Design Automation公

35、司大约在1983年 左右开发的。其架构同VHDL相似,主要被用来进行硬件仿真。由 于是由公司内工程师开发的,更注重实用性,Verilog要比VHDL简 洁得多。 ? Verilog HDL 于1995年成为IEEE标准,称IEEE Std 13641995。 第一讲 数字系统与FPGA设计概述 西安邮电学院 HDL不是硬件设计语言 ? VHDL和Verilog最初都不是为了设计硬件而开发的,当 初制订HDL语言标准的时候,并没有考虑这些代码如何 用硬件来实现。因此,有些代码写起来简单,实现起 来却可能非常复杂,或者就不可能实现。 ? HDL是Hardware Description Langu

36、age的缩写,正式 中文名称是“硬件描述语言”。也就是说,HDL并不是 “硬件设计语言(Hardware Design Language)” 。 ? 明确VHDL和Veriglog并非是硬件设计语言,就理解不 能随心所欲地写仅仅符合语法的HDL代码来设计硬件电 路。设计硬件电路的HDL必须满足可综合条件。 第一讲 数字系统与FPGA设计概述 西安邮电学院 为什么要用硬件描述语言来设计?为什么要用硬件描述语言来设计? 使用HDL语言设计具有如下优点: ?能形式化地抽象表示电路的结构和行为,便于人和计算机 理解; ?支持逻辑设计中不同层次和领域的描述; ?可以借用类似计算机软件高级语言的方法简化电

37、路的描述; ?具有电路仿真与验证机制以保证设计的正确性; ?支持电路描述由高层到低层的综合转换; ?硬件描述与实现工艺无关; ?便于文档管理,易于理解和设计重用。 第一讲 数字系统与FPGA设计概述 西安邮电学院 VHDL与Verilog HDL 比较 相对VHDL,Verilog HDL特点: ?较多的第三方工具的支持 ?语法结构比VHDL简单 ?学习起来比VHDL容易 ?仿真工具使用简便 ?测试激励模块容易编写 第一讲 数字系统与FPGA设计概述 西安邮电学院 VerilogHDL与VHDL建模能力的比较 VHDL VITAL 系统级 算法级 寄存器传输级 逻辑门级 开关电路级 行为级 的

38、抽象 VerilogHDL 与 VHDL 建 模 能 力 的 比 较 Verilog 第一讲 数字系统与FPGA设计概述 西安邮电学院 Verilog HDL 特点特点1 ?Verilog HDL是一种用于数字逻辑电路描述的语言, 主要用于逻辑电路的建模、仿真和设计。 ?用 Verilog HDL 描 述的 电 路 设 计 就 是 该电 路 的 Verilog HDL模型。 ?Verilog HDL 既是一种行为描述的语言也是一种结 构描述的语言。既可以用电路的功能描述也可以用 元器件和它们之间的连接来建立所设计电路的 Verilog HDL模型。 ?Verilog模型可以是实际电路的不同级别

39、的抽象。这 些抽象的级别和它们对应的模型类型共有以下五种 第一讲 数字系统与FPGA设计概述 西安邮电学院 Verilog HDL 特点特点2 ? 系统级(system): 用高级语言结构实现设计模块行为的模型。(主 要用于仿真) ? 算法级(algorithmic): 用高级语言结构实现设计算法行为的模型。 (部分可综合) ? RTL级(Register Transfer Level): 描述数据在寄存器之间流动和 处理这些数据行为的模型。(可综合) ? 门级(gate-level): 描述逻辑门以及逻辑门之间连接的模型。 ? 开关级(switch-level): 描述器件中三极管和存储器件

40、以及它们之 间连接的模型。 ? Verilog 语言的这种多抽象级别的描述能力,使我们可以在数字系 统设计的各个阶段都使用同一种语言。 第一讲第一讲 数字系统与数字系统与FPGAFPGA设计概述设计概述 西安邮电学院 参考书参考书 ? Verilog HDL数字设计与综合,电子工业出版社, 美Samir Palnitkar著,夏宇闻等译。 ? Verilog HDL硬件描述语言,机械工业出版社, 美J.Bhasker著,徐振林等译。 第一讲 数字系统与FPGA设计概述 西安邮电学院 Verilog HDL入门 目的: ? 通过简单的例子了解Verilog模块的基本构成 ? 了解Verilog模

41、块的组成要素 ? 了解Verilog模块的仿真测试 第一讲 数字系统与FPGA设计概述 西安邮电学院 简单的 Verilog HDL 模块1 ? 下面先介绍几个简单的Verilog HDL程序,然后从中分析Verilog HDL 程序的特性。 例 1.1: module adder ( count,sum,a,b,cin ); input 2:0 a,b; input cin; output count; output 2:0 sum; assign count,sum=a+b+cin; endmodule 这个例子描述了一个三位的加法器。从例子中可以看出整个Verilog HDL程序是嵌套在

42、 module 和 endmodule 声明语句里的。 模块名 第一讲 数字系统与FPGA设计概述 西安邮电学院 简单的 Verilog HDL 模块2 例 1.2 : modulecompare ( equal,a,b ); output equal;/声明输出信号equal input 1:0 a,b;/声明输入信号a,b assign equal=(a=b)?1:0; /*如果两个输入信号相等,输出为1。否则为0*/ endmodule 这 个 程 序 描述 了 一 个 比 较器 . 在 这 个程 序 中 ,/*.*/ 和 /.表示注释部分,注释只是为了方便程序员理解程序,对 编译是不起

43、作用的。 模块的输入输出端口名 逻辑功能的数 据流描述 第一讲 数字系统与FPGA设计概述 西安邮电学院 简单的 Verilog HDL 模块3 例 1.3 : module mux2 (out, a, b, sl); input a,b,sl; output out; not u1(ns1,sl); and #1 u2(sela,a,nsl); and #1 u3 (selb,b,sl); or #2 u4(out ,sela,selb); endmodule 例中not、and、or是verilog内建逻 辑门器件。 逻辑功能的门级 结构描述 a b sl selb sela nsl 第一

44、讲 数字系统与FPGA设计概述 西安邮电学院 简单的 Verilog HDL 模块4 例 2.1.4 :module trist1(out,in,enable); output out; input in, enable; mytri tri_inst(out,in,enable); endmodule module mytri(out,in,enable); output out; reg out; input in, enable; always ( in or enable) if( enable ) out = in; else out = 1bz; endmodule 子模块。通过这

45、种结 构性模块构造可构 成大型模块。 上层模块 三态门逻辑功能的行为 描述。 第一讲 数字系统与FPGA设计概述 西安邮电学院 Verilog HDL 简单模块小结 通过上面的例子可以看到通过上面的例子可以看到: ? Verilog HDL程序是由模块构成的,模块是可以进行层次嵌套。 ? 每个模块要进行端口定义 ,并说明输入输出口,然后对模块的功能 进行逻辑描述。 ? 逻辑描述方法有:门级结构描述、数据流描述、行为描述。 ? Verilog HDL程序的书写格式自由,一行可以写几个语句,一个语句 也可以分写多行。 ? 除了endmodule语句外,每个语句和数据定义的最后必须有分号。 ? 可以

46、用/*.*/和/.对Verilog HDL程序的任何部分作注释。 一个好的,有使用价值的源程序都应当加上必要的注释 ,以增强程 序的可读性和可维护性。 第一讲第一讲 数字系统与数字系统与FPGAFPGA设计概述设计概述 西安邮电学院 模块的结构模块的结构 ? Verilog 的基本设计单元是“模块” (block)。每个模块包括五 个主要部分:模块定义、端口说明、数据声明、电路功能描述和 时序特性。 module module_name (port_list); / 模块定义 port declarations / 端口说明 data type declarations / 数据说明 circuit functionality / 电路功能描述 timing specifications / 时序特性(仿真) endmodule 第一讲 数字系统与FPGA设计概述 西安邮电学院 模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论