最新Verilog课件-第十一讲-数字系统设计原则与设计实例.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《最新Verilog课件-第十一讲-数字系统设计原则与设计实例.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 Verilog 课件 第十一 数字 系统 设计 原则 实例
- 资源描述:
-
1、第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系第十一讲第十一讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 v 硬件原则v 面积和速度的平衡与互换原则v 同步设计原则v 同步系统时钟与复位规划v 自顶向下设计原则v 设计实例v 本讲要点与实验要求第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系硬件原则硬件原则v 硬件原则硬件原则主要是针对HDL设计代码编写而言,特别是具有软件编程经验的初学者,片面追求代码的简短、整洁,如大量使用for循环,而对HDL描述要实现的电路不胜了解。HDL仿真代码不
2、受硬件原则约束。硬件原则主要是指:硬件描述语言(HDL),如verilog,本质上是硬件的抽象描述。HDL描述的最终目标是生成芯片内部的实际电路。HDL描述与软件语言,如C语言,有本质的区别。因C语言编译后,基本上是在设计好的硬件电路(CPU)中按顺序运行的,而HDL描述的是硬件电路本身。评价一个HDL描述的质量,主要看该HDL是否能够与综合工具配合,按设计者的构想合理地生成硬件电路。第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系硬件原则硬件原则v 按硬件原则,HDL的正确编写方法是:设计者要对所设计的硬件电路功能十分清楚。合理安排电路的数据流和
3、控制逻辑,构思RTL级电路体系结构。掌握综合工具要求和性能。用适当的、综合工具能理解的HDL语言描述出来。v 目前纯行为级的综合还不成熟,RTL级综合仍是主流。v 在目前主流综合工具中,部分行为描述语句可以综合,如c第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系一种时钟域合并方法一种时钟域合并方法v 如图示时钟时序波形,时钟使能3M_EN、5M_EN分别使能20M_CLK部分时钟,使有效的时钟信号平均等效频率分别为3M_CLK、5M_CLK。使能的时钟信号第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程
4、系同步系统复位的规划同步系统复位的规划v 为使系统工作稳定,并便于测试,所有触发器都应设置复位端。v 触发器的复位信号是一个异步逻辑输入端,对毛刺非常敏感。 v 较好的全局复位方式是设置一个芯片主复位引脚RESET,并用专门模块设计复位电路,给电路中每个触发器送复位信号。 v 与全局时钟引脚类似, 几乎所有FPGA器件都有专门的全局清零引脚和全局置位引脚。在一般情况下使用芯片的全局同步或异步清零/置位信号,可以简化设计、节省面积。v 如果必须从器件内产生清零或置位信号, 则要按照“门控时钟”的设计原则去建立这些信号, 确保复位信号中不会出现毛刺。第十一第十一讲讲 数字系统设计原则与设计实例数字
5、系统设计原则与设计实例 西安邮电学院通信工程系复位电路复位电路1、用FPGA的PLL锁定输出LOCK作为电路复位rst_n;2、设计RESET同步电路。PLLclkresetclk_plllock复位同步电路clkresetrst_n第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系自顶向下系统设计原则自顶向下系统设计原则v 自顶向下的设计原则是首先定义好顶层功能,然后再用底层的具体实现去充实这些功能。它是设计复杂数字系统普遍采用的设计方法。v 自顶向下的设计方法是从一个写好的系统设计规范开始,通过系统设计、模块设计与仿真验证、系统功能仿真验证、系统
6、实现与仿真验证几个阶段,逐步细化设计,直到实现系统设计规范要求。v 在自顶向下设计中, 撰写完善的设计文档是与设计同样重要的。 对于一个比较复杂的设计来说, 系统和各模块之间关系较复杂, 在设计文档中对整个设计进行详细的描述,才能保证设计者能够在较短时间内掌握整个设计方案,顺利完成设计工作。第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系自顶向下设计自顶向下设计系统设计规范v 系统概述v 系统目标(包括系统实现的功能定义及性能指标)v 系统设计依据(主要的工作原理,关键算法等)v 关键技术v 系统实现其它要求(包括硬件体系结构、数据流、控制流的特殊
7、要求,系统实现价格、面积、功耗、封装等其它要求)v 系统验证及测试要求第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系自顶向下设计自顶向下设计系统设计v 系统设计论述。包括对系统详细的分析与设计策略、系统体系结构框图、层次结构框图、各个模块的划分和功能定义、系统时钟和复位规划。v 芯片与封装选择,包括芯片引脚功能和时序说明,输出驱动能力、输入输出电平。v 系统各模块输入输出引脚功能和时序说明。v 系统各模块的实现策略,如是否用IP;关键算法流程或时序设计。v 系统验证、测试方案与可测性设计。第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原
8、则与设计实例 西安邮电学院通信工程系自顶向下设计自顶向下设计层次化与模块划分原则v 顶层设计:只包含功能模块、独立时钟模块、独立复位模块和输顶层设计:只包含功能模块、独立时钟模块、独立复位模块和输入输出管脚定义,不含逻辑电路。入输出管脚定义,不含逻辑电路。v 模块划分应无跨层间信号互连。模块划分应无跨层间信号互连。顶层模块A模块B模块A.U1模块A.U2模块B.U1模块B.U2第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系自顶向下设计自顶向下设计层次化与模块划分原则v 独立模块独立模块尽量加寄存器输出,便于时序调整。尽量加寄存器输出,便于时序调整
9、。v 相关逻辑电路划在一个模块内,使模块间互连最少。相关逻辑电路划在一个模块内,使模块间互连最少。v 将相同优化目标的逻辑划在一个模块内,便于优化。如速度要求将相同优化目标的逻辑划在一个模块内,便于优化。如速度要求一样的逻辑放在一个模块中,便于对模块设置速度约束。一样的逻辑放在一个模块中,便于对模块设置速度约束。v 时序要求不高的逻辑可放在一个模块。时序要求不高的逻辑可放在一个模块。v 异步输入输出接口和时钟域间接口划分为单独模块,并尽量小。异步输入输出接口和时钟域间接口划分为单独模块,并尽量小。v 存储器划分为独立模块。存储器划分为独立模块。v 模块规模要适当,便于验证和管理。模块规模要适当
10、,便于验证和管理。第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系自顶向下设计自顶向下设计模块设计v 模块的体系结构与电路设计模块的体系结构与电路设计v 模块中关键路径设计及说明v 模块的测试方法与可测性设计v 模块的模块的HDL描述,功能仿真检查结果描述,功能仿真检查结果v 模块的综合约束条件(包括扇入、扇出,速度要求、面积要求等)v 模块的面积、速度和功耗估算第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系组合逻辑设计规则组合逻辑设计规则v 设计无组合环:组合电路输出不能在没有通过同步延设计无组合环
11、:组合电路输出不能在没有通过同步延时单元的情况下反馈回同一组合逻辑。时单元的情况下反馈回同一组合逻辑。DQDQ第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系组合逻辑设计规则组合逻辑设计规则v 不用组合逻辑产生延时,延时总是由时序电路产生。不用组合逻辑产生延时,延时总是由时序电路产生。v 不要用组合逻辑产生脉冲,用时序电路产生。不要用组合逻辑产生脉冲,用时序电路产生。DQ第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系组合逻辑设计规则组合逻辑设计规则v 三态门要防止多驱动竞争(总线竞争)。三态门要防止多
12、驱动竞争(总线竞争)。v 三态总线不要处于悬浮状态。三态总线不要处于悬浮状态。v 三态逻辑只用于芯片的双向端口。三态逻辑只用于芯片的双向端口。v FPGA内部总线使用多路选择器实现。内部总线使用多路选择器实现。AmuxBmuxCmux第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系同步逻辑设计规则同步逻辑设计规则v 多驱动在测试平台中常出现,但在设计中应禁止使用。多驱动在测试平台中常出现,但在设计中应禁止使用。v 例:例:always (posedge clk) if(rst) sig=4b0; else if(condition1) sig= e
13、xpress1; always (posedge clk) if(condition2) sig= express2;v 除非特殊情况,不建议在同一模块中上、下时钟沿混用。等效减除非特殊情况,不建议在同一模块中上、下时钟沿混用。等效减少时钟周期,不利于时序分析。少时钟周期,不利于时序分析。多驱动第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系同步逻辑设计规则同步逻辑设计规则v 不用不用if-else作为完整选择,容易出错。例:作为完整选择,容易出错。例: always (posedge clk) if(rst) sig=4b0; if(condit
14、ion1) /else if sig= express1;v CaseCase语句不要遗漏语句不要遗漏defaultdefault,ifif语句条件要完备。语句条件要完备。v AlwaysAlways语句应使用完整的敏感量表,否则容易使仿真语句应使用完整的敏感量表,否则容易使仿真与综合不一致,或产生非预期的锁存器。与综合不一致,或产生非预期的锁存器。第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系同步逻辑设计规则同步逻辑设计规则v 不要混合使用同步和异步复位,综合可能出问题。不要混合使用同步和异步复位,综合可能出问题。 always (posedg
15、e clk or posedge rst) if(rst | syn_rst) sig=4b0; else if(condition1) sig= express1;改为:改为: always (posedge clk or posedge rst) if(rst ) sig=4b0; if ( syn_rst ) sig=4b0; else if(condition1) sig= express1;第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系同步逻辑设计规则同步逻辑设计规则v 状态机设计一定要有初始复位状态。状态机设计一定要有初始复位状态。v
16、 较大状态机建议用较大状态机建议用one-hot编码方式。编码方式。v 未用状态一定要明确处理。未用状态一定要明确处理。v 建议使用单独的状态转移建议使用单独的状态转移always过程块,输入组合逻过程块,输入组合逻辑和输出组合逻辑辑和输出组合逻辑always过程块的设计方式。过程块的设计方式。输 入 逻 辑( f )输 出 逻 辑( g )输 入 变 量(I)激 励(E)时 钟状 态 变 量(S)输 出 变 量(O)存 储 元 件虚 线 表 示 无 连 接第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系同步逻辑设计规则同步逻辑设计规则v 资源共享
17、。例:资源共享。例: always (a or b or c or d or sel) sum=sel?(a+b):(c+d);- always (a or b or c or d or sel) begin s1=sel ? a : c; s2=sel ? b : d; sum= s1+ s2; endv 冗余逻辑。例:regreg sig1 / sig1 /* * synthesis preserve synthesis preserve * */;/;regreg sig2 / sig2 /* * synthesis preserve synthesis preserve * */;/;
18、 always (posedge clk or posedge rst) if(rst) begin sig1=1b0; sig2=1b0; end else if(condition1) begin sig1= express1; sig2= express1; end第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系自顶向下设计自顶向下设计系统级仿真与实现v 系统最终完成的HDL设计描述。v 系统仿真激励文件、测试文件及功能仿真结果分析。v 系统级综合约束条件(包括器件扇出配置,关 键路径约束,输入输出约束,时钟约束,速度、面积和功耗约束等);得
19、到综合后网表文件。v 系统布局布线约束条件及布局布线结果。v 系统静态时序分析和时序仿真结果分析。 v 设计实现后系统电路面积、速度和功耗估算。v 最终产生FPGA的编程文件。v 验证本设计实现的系统满足系统设计规范要求。第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系系统级常用约束系统级常用约束v I/OI/O驱动约束:电平值、驱动电流、集电极开路、上拉电阻驱动约束:电平值、驱动电流、集电极开路、上拉电阻v I/OI/O驱动约束:驱动约束:T Tsusu,T Th h,T,Tcoco,T,Tpdpdv 定位约束(定位约束(location)loc
20、ation):管脚定位、逻辑单元定位。:管脚定位、逻辑单元定位。v 全局时钟约束:多个独立时钟、关联时钟全局时钟约束:多个独立时钟、关联时钟v 时序约束:多周期路径,伪路径切断,时序约束:多周期路径,伪路径切断,v 扇出约束:扇出约束:FPGAFPGA一般取一般取1212,1616,2424,3232等,取决与速度需求。等,取决与速度需求。v 修正保持时间违例修正保持时间违例第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系设计实例设计实例:自动交通控制系统自动交通控制系统系统设计规范:系统设计规范:v系统概述系统概述 设计一个具有主、支干道十字路口
21、的交通灯自动控制芯片。v系统目标系统目标 当主干道与支干道均无车辆要求通行时,主干道应保持畅通,亮绿灯,支干道亮红灯。 如果主干道无车,支干道有车,则允许支干道通行,主干道亮红灯,支干道亮绿灯。 如果主干道和支干道均有车要求通行,则两者应交替通行,并要求主干道每次通行30秒,支干道每次通行20秒,并显示剩余时间。 每次绿灯变红灯时,黄灯应先亮3秒钟,并显示绿灯和黄灯剩余时间。v系统设计依据系统设计依据:主、支干道上有车时,车辆传感器输出为高电平。v系统实现要求系统实现要求:要求用FPGA实现该控制器。v系统验证及测试要求系统验证及测试要求:搭建模拟测试平台测试。第十一第十一讲讲 数字系统设计原
22、则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系系统设计系统设计设计分析v系统设计分析系统设计分析 根据自动交通控制系统设计规范,可对该系统的工作过程作如下分析: 一般情况下,如果主干道和支干道均无车辆要求通行,应该保证主干道绿灯亮,支干道红灯亮,剩余时间按30秒循环显示。 若支干道有车辆要求通行,主干道无车辆,则应允许支干道车辆通行;在支干道有车辆通行时,若主干道无车辆要求通行,则支干道始终保持畅通,剩余时间按20秒循环显示;如果此时支干道已无车辆要求通行,或主干道有车辆要求通行,并且支干道通行时间已超过20秒钟,则应立刻准备使主干道通行。 若主干道、支干道均有车辆要求通行,则
23、应先保证主干道通行30秒钟后,允许支干道通行。 在允许主干道通行前,应先使支干道的黄灯亮3秒钟,主干道红灯保持3秒钟后,变成主干道绿灯亮,支干道红灯亮。在允许支干道车辆通行前,应先使主干道黄灯亮3秒钟,支干道红灯保持3秒钟后,变成主干道红灯亮,支干道绿灯亮。 据此工作过程,设计系统框图如图所示。 第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系系统设计系统设计模块划分与结构框图v 系统结构框图系统结构框图Clock_cntTR_ctlDisp_ctlmredmgreenmyellowbgreenbyellowbreds_20ss_3ss_30scn
展开阅读全文