第四讲 数字系统设计的实现与验证.ppt_第1页
第四讲 数字系统设计的实现与验证.ppt_第2页
第四讲 数字系统设计的实现与验证.ppt_第3页
第四讲 数字系统设计的实现与验证.ppt_第4页
第四讲 数字系统设计的实现与验证.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、第四讲 数字系统设计的实现与验证,什么是逻辑综合 Verilog HDL的综合要求 逻辑综合流程、工艺库和设计约束 基于quartus2的逻辑综合与实现 静态时序分析验证 辅助设计工具简介 动态时序仿真验证 编程与配置,可编程逻辑器件设计流程,本讲主要内容,什么是逻辑综合,逻辑综合是在标准单元库(工艺库)和特定设计约束的基础上,把设计的高层次描述转换成优化的门级网表的过程。计算机辅助逻辑综合过程如下:,人工的逻辑综合过程,逻辑综合曾经是数字系统设计中最复杂的过程。在人工逻辑综合设计时代,设计者首先理解高层次描述,然后考虑设计的时序、实现面积、可测性和功耗等设计约束,最后用工艺库中的器件作为基本

2、单元,画出实现高层次描述的逻辑电路图,并反复优化电路,达到设计约束的要求。这一过程实际上是将人的大脑作为逻辑综合工具。,自动逻辑综合工具的意义,手工设计问题: 设计时间长,对大规模设计容易出错,甚至不可能完成。 设计者不容易确定设计约束是否满足。 设计优化困难,特别是系统级优化。 在最终门级设计中发现设计错误,可能导致重新设计数千门电路。 设计与具体工艺库相关,不可重用。,自动逻辑综合工具带来了数字设计行业的革命,是现代数字系统设计的基础。,自动逻辑综合工具设计特点: 采用高层次描述,大规模电路设计容易,人为错误较少。 无需过多关注设计约束,逻辑综合工具将确保满足所有的约束。 从高层次描述到逻

3、辑门的转换非常快,且可得到全局优化的电路。人工耗费数月的设计,现在可能仅需数小时。 模块重新设计所需时间更短,因设计者只需修改RTL级设计。 改变工艺库,设计可重用于不同工艺。,Verilog HDL的综合要求,目前成熟的逻辑综合工具都支持RTL级设计的综合,行为级综合只能在特定条件下进行,处于研究中。逻辑综合工具并不能处理随意编写的verilog描述,下表列出综合工具通常能接受的verilog描述:,逻辑综合流程,翻译(转换引擎):RTL描述被转换为一个未经优化的内部中间描述的过程。在此过程不考虑设计约束,不同工具有不同表示方法,用户无法了解。 逻辑优化(优化引擎):逻辑优化使用大量工艺无关

4、的布尔逻辑优化技术。先进的优化工具还包括考虑设计约束的时序优化、状态机优化等。 工艺映射和优化(映射引擎):在此之前设计的描述与工艺无关。在这一步,综合工具将设计转换成用工艺库中的基本逻辑单元描述,称工艺映射。进一步综合工具根据工艺库特点对电路进行优化,使设计满足时序、面积和功耗等设计约束,称工艺相关优化。,工艺库与设计约束,工艺库(标准单元库):是由器件制造公司提供的库单元集合。库单元可以是基本逻辑门或宏单元,用verilog或其它语言建模,描述库单元的特性包括:单元的功能、时序、功耗和面积。 设计约束:通常包含如下内容。,时序:电路必须满足的时序要求。 面积:最终电路实现的面积或资源占用量

5、。 功耗:电路功耗不得超过的上界。 工作环境:管脚分布与输入输出延时、驱动强度和负载,环境温度,电压等。,如图示:面积与速度的折中,基于quartus2的逻辑综合与实现,常用的FPGA设计综合工具有Synplify、LeonardoSpectrum、FPGA Compiler等。Quartus2软件自身也集成有综合工具,虽不如上述工具功能强大,但也有自身的优点。 在使用综合工具时,一般不能直接修改综合的网表,只能通过修改HDL设计或设计约束间接控制综合的结果。本讲以4bit串行乘法器设计为例,介绍quartus2的综合工具与实现设置,包括如下内容: 分配芯片管脚、时序约束输入。 综合工具设置。

6、 综合网表的优化。 时序驱动的分配设置,分配芯片管脚,打开管脚编辑器,管脚编辑器,选中管脚,点右键打开。,选择打开对话框,管脚编辑器,打开下拉菜单,选择分配的信号,未用管脚设置,通常设置为输入三态,全局时序约束输入,将芯片看成一组D触发器,输入输出管脚有: Tsu、Th:管脚输入的建立时间和保持时间。 Tco:管脚上时钟到寄存器输出管脚的延时。 Tpd:管脚到管脚的最大延时。,全局默认时钟频率设置,独立时钟设置,独立时钟设置,更多设计时序约束输入,打开分配编辑器,可设置更多设计约束,综合工具设置,综合策略,自动全局信号提取,状态机编码方式: Auto:综合工具自动处理。 Minimal bit

7、s:占bit数最少。 One-hot:One-hot编码。 User-Encoded:用户定义。,综合工具设置,设置输入语言,综合网表的优化,用优化技术优化网表,做门级寄存器重定时,可提高工作速度,时序驱动的分配设置,优化设计的保持时间,选择分配种子,启动综合与综合结果,查看状态机编码,原编码: 综合后编码: S0=2b00, = S0=4b0000; S1=2b01, = S1=4b0101; S2=2b10, = S2=4b0011; S3=2b11; = S3=4b1001; 综合工具按实现需要对状态编码进行了调整。,静态时序分析基本概念,芯片输入输出和寄存器间延时静态时序分析说明: 芯

8、片管脚的建立时间: tsu = Input Delay Clock Delay + MTsu 芯片管脚的时钟输出延时: tco = Clock Delay + Output Delay + MTco 芯片管脚的保持时间: th = Clock Delay Input Delay + MTh 同步电路最高工作频率: Fmax1/ T; T(period) = Data Delay + Mtsu + MTco,静态时序分析模型,静态时序分析:是相对于动态时序仿真的一种时序验证技术。它根据分析模型分析每个时序路径的延时,并检查是否违反设计约束。,静态时序分析,本设计内部同步电路最高工作频率262MH

9、z。 本设计芯片管脚的时序特点:最坏建立时间tsu9.1ns, 最坏保持时间th-5.69ns, 最坏时钟输出延时tco8.4ns。 假设D触发器参数Mtsu、MTh、Mtco和Clock Delay均为1ns,求出: 最长输入延时:Input Delay(max) = tsu + Clock Delay - MTsu = 9.1ns 最短输入延时:Input Delay(min) = Clock Delay + MTh th =7.69ns 本设计芯片管脚等效的建立保持时间要求如下,在采用本芯片设计的PCB设计中,必须满足此时序要求:,芯片1,th=-5.69,tsu=9.1,芯片2,dat

10、a,clk,在此点之前 data应稳定建 立。,在此点之前 data应保持 稳定。,一般芯片1采用clk的下降沿打出数据,芯片2用clk上升沿打入数据,以满足建立保持时间要求。,应减小tsu,增加设计冗余量,以增加电路稳定性。,静态时序分析工具,更多的芯片内部时序分析可以用quartus2内带的静态时序分析工具进行。,时序收敛规划工具,输入数据muld0的输入延时6.322ns,时钟clk输入延时0.601ns。,该工具可以对设计中的管脚、内部逻辑、宏模块的延时、位置等进行显示和规划,帮助布局和布线,使设计性能达到要求。,管脚建立时间的改进,为改进芯片的管脚建立时间,设置管脚建立时间约束为5n

11、s。综合工具将尽量满足此约束,重新综合本设计,得到实际的管脚建立时间为3.221ns,与设计约束的冗余量约为1.78ns,大大改进了管脚的建立时间。同时管脚的保持时间也相应改进,而其它参数变化不大,达到设计目标。,资源编辑器查看布局结果,RTL原理图与工艺库映射图观察器,打开RTL原理图观察器,打开工艺库映射图观察器,RTL原理电路观察器,控制器原理图,工艺库映射图观察器,控制器工艺库映射图局部,动态时序仿真验证,设置为时序仿真,加载与功能仿真相同的仿真激励,启动仿真,4个警告,指示这些节点不存在。因为这些中间信号在综合时被综合工具改变。,打开时序仿真波形,动态时序仿真波形,时序仿真与功能仿真

12、不同点是引入了器件和路径延时,真实反映了器件的实际工作波形。 动态时序仿真与静态时序分析不同点在于时序仿真包含设计逻辑功能的验证,而静态时序分析只关注时序性能的分析,但其分析速度比时序仿真快得多。 设置时钟CLK为100MHz,时序仿真波形如下图,仿真结果正确。,第三方仿真工具,除使用quartus2自带的仿真工具外,还可以输出相关文件到第三方仿真工具上仿真。目前业界较流行的仿真工具是Modelsim、Active HDL等,它们有更强大的仿真功能。 如设置第三方verilog仿真工具为Modelsim,则quartus2将输出本设计的网表文件MULT.vo,标准延时文件MULT_v.sdf,

13、作为第三方仿真工具的输入。同时输入器件生产商提供的仿真库,就可进行仿真。 第三方仿真工具设置:,取得quartus2仿真库: 打开quartus2安装目录, C:alteraquartus51eda sim_lib 文件夹,按器件系列选仿真库,cyclone_atoms.v 是cyclone系列器件的基本仿真库。220model.v 是LPM宏仿真库。,FPGA的配置,配置:又称为加载或下载,是对FPGA的内容进行编程的过程。基于SRAM的FPGA每次上电后都需进行配置,然后才能正常工作。 以Altera的FPGA为例,常用配置方式有:,FPGA主动串行(Active Serial)方式:用于

14、FPGA控制配置的专用串行配置芯片。 FPGA被动(Passive)方式:用于其它设备,如MCU,控制配置的情况。 JTAG方式:主要用于调试时直接从PC机下载。,配置流加密:某些FPGA器件可以对配置数据进行加密,如Altera的Stratix 系列,在芯片内有解密电路对配置数据解密,密匙存在芯片内非易失性存储器中。 配置的远程升级:通过internet等数据网络,可实现FPGA的远程配置和升级。,主动串行(AS)配置方式,在AS配置方式中,FPGA必须使用专用AS配置器件。它是一种非易失性存储器,有4个接口信号:,DCLK:串行时钟输入。 DATA:串行数据输入、输出。 ASDI:AS控制

15、信号输入。 nCS:片选信号。,AS串行配置器件可使用Altera的ByteBlaster 加载电缆进行编程。如图示,在编程AS配置器件时,相关信号将禁止FPGA工作,其管脚处于三态高阻;在AS配置时,上电后所有配置操作由FPGA控制,配置完成后自动进入正常工作。,配置插座一定要认真检查,不能插错。,JTAG配置方式,JTAG接口是一个业界标准接口,主要用于芯片的测试。几乎所用的FPGA都有专用JTAG接口,它由四个必须信号和一个可选信号组成:,TDI:用于测试数据输入。 TDO:用于测试数据输出。 TMS:工作模式控制输入。 TCK:测试时钟输入。 TRST:测试复位,可选信号。,JTAG配

16、置方式具有最高优先级,可直接将开发机(PC)中配置数据下载到FPGA中,方便调试;同时也可将测试数据传回开发机观测。在用ByteBlaster 加载电缆配置时电路如图示。,注意,一定要确保插座连接正确。,配置方式设置,在编译前设置配置方式如下图:,AS模式,自动确定器件,生成压缩的配置数据,配置文件和工具,使用quartus2对设计综合、布局布线后,会自动生成.sof和.pof编程文件。.sof文件用于JTAG和PS配置方式, 而.pof文件用于AS方式中配置芯片的编程。打开配置编程工具如下:,设置为JTAG方式,编程文件,硬件准备好后,启动编程,本讲要点,逻辑综合的概念与实现流程。 可综合verilog语言的基本要求。 工艺库和设计约束概念。 掌握Quartus2的管脚和基本设计约束输入方法。 掌握基本的综合与布局布

温馨提示

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

评论

0/150

提交评论