可综合VerilogHDL

上传人:xian****812 文档编号:290318642 上传时间:2022-05-09 格式:PPT 页数:61 大小:793KB
返回 下载 相关 举报
可综合VerilogHDL_第1页
第1页 / 共61页
可综合VerilogHDL_第2页
第2页 / 共61页
可综合VerilogHDL_第3页
第3页 / 共61页
可综合VerilogHDL_第4页
第4页 / 共61页
可综合VerilogHDL_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《可综合VerilogHDL》由会员分享,可在线阅读,更多相关《可综合VerilogHDL(61页珍藏版)》请在金锄头文库上搜索。

1、电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 1基于基于FPGA的嵌入式系统设计的嵌入式系统设计电工电子工程基础电工电子工程基础王贞炎王贞炎电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 23 可综合可综合VerilogHDL设计设计3.1 FPGA中逻辑中逻辑设计的设计的一些概念和原则一些概念和原则3.2 组合逻辑的建模组合逻辑的建模3.3 时序逻辑的建模时序逻辑的建模3.4 存储器的建模与使用存储器的建模与使用3.5 有限

2、状态机的建模有限状态机的建模3.6 课堂操作实验课堂操作实验电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 33.1 FPGA中逻辑设计的一些概念和原则中逻辑设计的一些概念和原则3.1.1 一些基本概念一些基本概念3.1.2 同步设计同步设计3.1.3 串并操作串并操作 流水线流水线3.1.5 异步时钟域处理异步时钟域处理电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 43.1.1 一些基本概念一些基本概念3.1.1.1 面积和

3、速度面积和速度面积:是指一个设计所消耗FPGA,可理解为一个设计在FPGA中占用的“面积”。主要由LE衡量,还包括RAM和DSP块等。速度:是指一个设计在FPGA芯片上能稳定运行的最高频率。“面积”和“速度”是一对对立统一的矛盾体。可以用更多的逻辑资源实现更快速的处理,也可以牺牲速度用较少的逻辑资源“面积”和“速度”互换。科学的设计目标是:在满足设计时序要求的前提下,占用最小的芯片面积;或者在所规定的面积下,使设计的时序余量更大,频率更高。电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 53.1.1 一些基本概

4、念一些基本概念3.1.1.1 Verilog描述的逻辑的并行性描述的逻辑的并行性Verilog很多语法规则和C语言相似,但两者有本质区别!在编写Verilog代码时,要始终记住:“我在描述一个硬件电路的连接,而不是顺序执行的代码。”,对于一个硬件电路,在Verilog描述中各部分语句的“执行”是并发的。一个HDL代码的优劣的最终评价标准是其描述实现的硬件电路的性能(包括面积和速度两个方面),而不能只是片面地追求代码的简洁。在编写Verilog代码前,应先对系统要实现的硬件电路的连接在大体上和关键点上有一个明确地规划。硬件描述语言是描述硬件的,要实现对硬件实现“胸有成竹”,才能描述得好。电工电子

5、科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 63.1.1 一些基本概念一些基本概念3.1.1.1 合理分配模块合理分配模块在设计一个较大的系统时,往往需要将系统分为多个模块。模块的划分是需要合理考虑的。按实际功能划分模块。划分出来的模块的端口意义尽量简明。一个模块自成一体,调用模块者绝对不需要知道模块内部原理,绝对不需要干涉内部工作过程。模块规模合理。电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 73.1.1 一些基本概念一些基本

6、概念3.1.1.1 合理利用资源合理利用资源在设计一个电子系统时,要了解,什么样的功能适合用LE实现,什么样的功能时候由DSP、CPU实现(包括FPGA内部的DSP、CPU)。实时性要求高、频率高、大量并行的功能模块适合使用传统的FPGA逻辑实现。在FPGA内部设计时,要对的FPGA全局有宏观上的合理安排,比如时钟、模块组织结构、RAM的利用、面积和速度等问题。善于利用片内RAM、乘法器。电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 83.1.2 同步设计同步设计3.1.2.1 同步和异步设计同步和异步设计异

7、步数字电路:电路的核心逻辑用组合电路实现;电路的主要信号并不依赖任何一个时钟性信号;容易产生毛刺,出现竞争冒险;不利于器件移植、不利于时序分析与验证。同步数字电路:电路核心逻辑用各种触发器实现;电路的主要信号都是由某个时钟沿驱动产生的;可以很好地避免毛刺;有利于器件移植和时序分析及验证。可编程器件成本越来越低,综合效果越来越强,现代PLD设计首选同步时序设计方式!电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 93.1.2 同步设计同步设计3.1.2.2 同步设计的原则同步设计的原则所有信号均由时钟驱动,并且在

8、同一个设计内,最好只由同一个时钟驱动。在同步设计中,一切逻辑均可简化为由下面的结构罗列而成电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 103.1.2 同步设计同步设计3.1.2.3 建立时间和保持时间建立时间和保持时间 建立时间(TSU):在时钟有效沿之前数据必须保持稳定的最小时间保持时间(TH):在时钟有效沿之后数据必须保持稳定的最小时间建立时间和保持时间形成一个时间窗,在此窗之内,数据必须保持稳定。同步设计的速度限制,根本上源于建立时间和保持时间的要求电工电子科技创新中心电工电子科技创新中心基于FPGA

9、的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 113.1.2 同步设计同步设计3.1.2.4 统一时钟和时钟使能!统一时钟和时钟使能!在同一个设计中,尽量让所有的模块使用同一时钟,让所有的“always(xxxedge clk)”中的clk是同一个clk。系统中不同部分的信号速率可能不一样,使用时钟使能控制处理速率。 例如:要让一个模块以1/8时钟工作:电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 123.1.2 同步设计同步设计3.1.2.4 统一时钟和数据使能!统一时钟和

10、数据使能! 数据流处理模块的端口建议,使用于一切对单个数据处理需要数个、甚至不确定数目的时钟周期的情况。Clk:工作时钟ARst:异步复位DataIn:数据输入DataEn:输入数据有效DataOut:数据输出DataValid:输出数据有效指示每一级的DataValid接至后级的DataEn。DataEn有效时,采入数据进行处理。处理完数据输出的同时让DataValid有效,通知下级。电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 133.1.3 串并操作串并操作“串并操作”是面积速度互换原则的直接体现。将串

11、行转换为并行,一般旨在通过复制逻辑,提高整个设计的设计吞吐量,其本质是通过面积的消耗提高系统的工作速率。将并行转换为串行,一般旨在节约资源,因为设计速度有足够的余量,通过提高串行通道的工作速率而节约了面积,其本质是通过速度的提高节约芯片面积。如串行加法器,乘法器,除法器等。电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 143.1.4 流水线流水线流水线处理是高速设计中的常用设计手段,是面积换取速度原则的又一具体体现。时序逻辑处理数据流就是天然的流水线结构。流水线的结构示例:电工电子科技创新中心电工电子科技创新

12、中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 153.1.4 流水线流水线流水线示例:Y=|A|*100-100电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 16.5 异步时钟域处理异步时钟域处理如果连续两个数据处理模块需要使用不同的时钟,前级的数据由一个时钟驱动输出,而后级的输入却有另一个时钟采入。这时出现时钟异步。异步域数据同步也是FPGA设计的一个较常见问题,处理不好往往会影响系统稳定。异步时钟域同步的表现形式:同频异相问题,两个时钟域频率相同,但相差不

13、固定。异频问题,两个时钟域的频率不同。电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 17.5 异步时钟域处理异步时钟域处理一般同步方法:两级寄存器采样,即用后级时钟对前级数据采样两次。这种做法可以有效地减少亚稳态的传播,使后级电平都是有效电平值,但不一定是正确电平值。该方法适用于对错误不敏感的同频异相时钟域数据的同步。使用FIFO,可以可靠解决异步时钟域数据的同步问题,注意数据满和空:前级时钟大于后级时钟,注意写满;前级时钟小于后级时钟,注意读空。电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系

14、统设计Spring 2010可综合VerilogHDL设计Slide 18.5 异步时钟域处理异步时钟域处理特殊情况转换低频时钟为时钟使能:如果低频时钟频率远低于高频时钟,建议用高频时钟将低频时钟同步为单周期使能信号。典型例子:用外部处理器(或用NIOS PIO)与FPGA逻辑交互。外部处理器送来的时钟可能很慢。电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 193.2 组合逻辑的建模组合逻辑的建模3.2.1 方法一方法一数据流建模数据流建模参数化的奇偶校验器3.2.2 方法二方法二行为建模行为建模BCD7段译

15、码器3.2.3 方法三方法三结构建模结构建模双向信号接口电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 203.2.1 组合逻辑的数据流建模组合逻辑的数据流建模参数化的奇偶校验器的建模参数化的奇偶校验器的建模module ParityGenerator(DataIn,OddPar,EvenPar); parameter NBITS=4; input NBITS-1:0 DataIn; output OddPar,EvenPar; assign EvenPar=DataIn; assign OddPar=Even

16、Par;endmodule电工电子科技创新中心电工电子科技创新中心基于FPGA的嵌入式系统设计Spring 2010可综合VerilogHDL设计Slide 213.2.2 组合逻辑的行为建模组合逻辑的行为建模BCD7段译码器的建模段译码器的建模module bcd2led(a,b,c,d,e,f,g,D3,D2,D1,D0); output a,b,c,d,e,f,g; input D3,D2,D1,D0; reg a,b,c,d,e,f,g; always(D3 or D2 or D1 or D0) begin case(D3,D2,D1,D0) 4d0: a,b,c,d,e,f,g=7b1111110; 4d1: a,b,c,d,e,f,g=7b0110000; 4d2: a,b,c,d,e,f,g=7b1101101; 4d3: a,b,c,d,e,f,g=7b1111001; 4d4: a,b,c,d,e,f,g=7b0110011; 4d5: a,b,c,d,e,f,g=7b1011011; 4d6: a,b,c,d,e,f,g=7b1011111; 4d7: a,b,c,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号