书签 分享 收藏 举报 版权申诉 / 60
上传文档赚钱

类型最新Verilog课件-第十一讲-数字系统设计原则与设计实例.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2773501
  • 上传时间:2022-05-25
  • 格式:PPT
  • 页数:60
  • 大小:915.50KB
  • 【下载声明】
    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

    24、t_okd_time6:0d_out7:0d_col1:0clkresetm_reqb_req如图示、系统分为三个模块如图示、系统分为三个模块:TR_ctl:交通灯控制。Clock_cnt:定时计数。Disp_ctl:剩余时间显示。输入输出信号:输入输出信号:clk:系统时钟reset:1,系统复位b_req:1,支干道通行请求m_req;1,主干道通行请求d_out7:0:显示数据输出d_col1:0;动态显示LED选择mgreen:1,主干道绿灯亮myellow:1,主干道黄灯亮mred:1,主干道红灯亮bgreen: 1,支干道绿灯亮byellow:1,支干道黄灯亮bred: 1,支干道

    25、红灯亮第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系系统设计系统设计顶层设计v 系统时钟和复位规划:本设计采用一个全局时钟clk和复位reset。v 芯片与封装选择:本设计用EP1C3T FPGA实现,144脚封装,输入输出为LVTTL电平。v 系统顶层模块设计与各模块输入输出信号如图示。v 系统各模块功能说明。TR_ctl:交通灯控制模块。根据主、支干道车辆通行请求和通行规则,控制交通灯。控制定时计数模块启动,并接收定时到信号。Clock_cnt:定时计数模块。接收TR_ctl的定时启动控制,s_3s 、 s_20s 、 s_30s 分别为3秒

    26、、20秒、30秒计时初值加载和减法计数启动的控制脉冲,为1时启动相应计时。 cnt_ok 是计时到指示脉冲,为1表示已减到0,计时时间到。d_time6:0为十进制计时剩余时间,其中d_time6:4 为十位数, d_time3:0为个位数 。Disp_ctl:剩余时间显示控制模块,用于控制显示绿灯和黄灯的剩余时间。采用2个7段LED动态显示方式。第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系系统设计系统设计顶层模块设计VCCclkINPUTVCCresetINPUTVCCm_reqINPUTVCCb_reqINPUTmgreenOUTPUTmy

    27、ellowOUTPUTmredOUTPUTbgreenOUTPUTbyellowOUTPUTbredOUTPUTd_out7.0OUTPUTd_col1.0OUTPUTclock_cntinstclkINPUTreset INPUTs_3s INPUTs_20s INPUTs_30s INPUTcnt_okOUTPUTd_time6.0OUTPUTI/OTypeTR_ctlinst1clkINPUTresetINPUTm_reqINPUTb_reqINPUTcnt_okINPUTs_3sOUTPUTs_20sOUTPUTs_30sOUTPUTmgreenOUTPUTmyellowOUTPUTm

    28、redOUTPUTbgreenOUTPUTbyellowOUTPUTI/O.Type.disp_ctlinst2clkINPUTresetINPUTd_time6.0INPUTd_col1.0OUTPUTd_out7.0OUTPUTI/OType第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系系统设计系统设计系统测试方案v 系统验证、测试方案:采用quartus2的功能和时序仿真分析,验证设计的正确性。在Mars-EP1C3-EDA实验平台上实现本设计,并测试其正确性。具体方案如下。(注:KEY1、KEY2是异步输入,需同步处理。)主干道LED显示

    29、灯支干道LED显示灯EP1C3LD1LD3LD7LD9KEY1KEY2d_out7:0d_col1剩余时间的二位7段LED显示KEY1、KEY2模仿主、支干道通行请求,按下表示无车通行。d_col0abcdefgdp第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系系统设计系统设计实验板信号定义v 查阅实验板资料,确定相关实验板引脚信号分配如下:本设计信号名实验板信号名FPGA引脚备注本设计信号名实验板信号名FPGA引脚备注d_out0display7p5低显dp段mgreenLD5p75低灯亮d_out1display6p4低显g段myellowL

    30、D3p79低灯亮d_out2display5p3低显f段mredLD1p85低灯亮d_out3display4p2低显e段bgreenLD11p74低灯亮d_out4display3p1低显d段byellowLD9p78低灯亮d_out5display2p143低显c段bredLD7p84低灯亮d_out6display1p141低显b段m_reqKEY1p107按下为低d_out7display0p142低显a段b_reqKEY2p106按下为低d_col1Dis_A1p27低显示clkCLK_40Mp1640M时钟d_col0Dis_A2p26低显示resetSYS_RSTp144低复位注

    31、:实验时,实验板上J1连(2,3),J4连接,J3断开。电源接FPGA扩展板。 第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系模块设计模块设计 TR_ctl模块设计v TR_ctl模块的算法状态机设计模块的算法状态机设计:状态S1:主干道绿灯支干道红灯状态S2:主干道黄灯支干道红灯状态S3:主干道红灯支干道绿灯状态S4:主干道红灯支干道黄灯启动s_3s=0;s_20s=0;s_30s=1;cnt_ok=1?b_req=1?s_30s=0s_3s=1s_30s=1s_20s=1s_3s=1cnt_ok=1?cnt_ok=1?cnt_ok=1?b_r

    32、eq=1&m_req=0?s_3s=0s_20s=0s_3s=0yynnyns_20s=1nnyys_30s=1yn第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系模块设计模块设计 clock_cnt模块设计v clock_cntclock_cnt模块设计模块设计:该模块可以分为秒脉冲产生和初值可控的十进制计数器两部分,如下图所示。秒脉冲产生秒脉冲产生:对40M时钟进行计数,计数到40,000,000时产生秒计数使能脉冲second_en。初值可控的十进制计数器:初值可控的十进制计数器:据不同的加载脉冲s_3s、 s_20s、 s_30s分别加载计

    33、数初值3、20、30秒。然后开始减法计数,减到0时,产生计数到脉冲cnt_ok。其中输出d_time6:4为十位数,d_time3:0为个位数。秒脉冲产生初值可控的十进制计数器s_3ss_20ss_30sclkd_time6:0cnt_oksecond_en第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系模块设计模块设计 disp_ctl模块设计v disp_ctl模块设计:模块设计:该模块可以分为LED动态显示控制、显示数据选择和LED7段显示译码三部分,如图所示。v LED动态显示控制动态显示控制:将时钟分频到50HZ,交替使d_col1和d_

    34、col0为0。v 显示数据选择显示数据选择:选择十位或个位显示,最大到70秒。v LED7段显示译码段显示译码:LED动态显示控制显示数据选择LED7段显示译码d_time6:4d_time3:0d_out7:0d_col1:0clk十进制数LED显示编码08b0000_001118b1001_111128b0010_010138b0000_110148b1001_100158b0100_100168b0100_000178b0001_111188b0000_000198b0001_1001第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系模块设计模

    35、块设计 TR_ctl的的HDL描述module TR_ctl (clk, reset, m_req, b_req, cnt_ok, s_3s, s_20s, s_30s, mgreen, myellow, mred, bgreen, byellow, bred);/ 模块端口说明input clk;input reset;input m_req;input b_req;input cnt_ok;output s_3s; reg s_3s;output s_20s; reg s_20s;output s_30s; reg s_30s;output mgreen; reg mgreen;outpu

    36、t myellow; reg myellow;output mred; reg mred;output bgreen; reg bgreen;output byellow; reg byellow;output bred; reg bred;/ 变量说明reg m_req_s0,b_req_s0,m_req_s,b_req_s;reg 1:0 current_state,next_state;/ 参数说明parameter S1=2b00, S2=2b01, /状态机编码 S3=2b10, S4=2b11;/ 输入同步电路always (negedge reset or posedge clk

    37、)if (!reset) begin m_req_s0=0; b_req_s0=0; m_req_s=0; b_req_s=0;endelse begin m_req_s0=m_req; b_req_s0=b_req; m_req_s=m_req_s0; b_req_s=b_req_s0;End第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系模块设计模块设计 TR_ctl的的HDL描述续1/状态机组合逻辑always (cnt_ok or m_req_s or b_req_s or current_state)begin case(current_

    38、state) S1: begin / 主干道绿,支干道红 mgreen=0; myellow=1; mred=1; bgreen=1; byellow=1; bred=0; s_3s=0; s_20s=0; s_30s=0; if( cnt_ok=1) / 计时时间到 if(b_req_s=0) begin / 支干道有车. s_3s=1; next_state=S2; end else begin / 支干道无车. s_30s=1; next_state=S1; end else / 计时未到 next_state=S1; end S2: begin / 主干道黄,支干道红 mgreen=1

    39、; myellow=0; mred=1; bgreen=1; byellow=1; bred=0; s_3s=0; s_20s=0; s_30s=0; if(cnt_ok=1) begin / 计时时间到 s_20s=1; next_state=S3; end else next_state=S2; end第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系模块设计模块设计 TR_ctl的的HDL描述续2 S3: begin / 支干道绿,主干道红 mgreen=1; myellow=1; mred=0; bgreen=0; byellow=1; br

    40、ed=1; s_3s=0; s_20s=0; s_30s=0; if(cnt_ok=1) / 支干道有车,主干道无车 if(b_req_s=0 & m_req_s=1) begin s_20s=1; next_state=S3; end else begin s_3s=1; next_state=S4; end else next_state=S3; end S4: begin / 支干道黄,主干道红 mgreen=1; myellow=1; mred=0; bgreen=1; byellow=0; bred=1; s_3s=0; s_20s=0; s_30s=0; if(cnt_ok=1)

    41、begin s_30s=1; next_state=S1; end else next_state=S4; end endcaseend/ 状态机状态转移逻辑always (negedge reset or posedge clk)if (!reset) current_state=S1;else current_state=next_state;endmodule第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系模块设计模块设计 clock_cnt的的HDL描述 module clock_cnt ( clk, reset, s_3s, s_20s,

    42、 s_30s, cnt_ok, d_time );/端口说明input clk;input reset;input s_3s;input s_20s;input s_30s;output cnt_ok; output 6:0 d_time;/变量说明reg 25:0 cnt_clk;reg 2:0 cnt_10;reg 3:0 cnt_1;reg second_en;/秒脉冲发生器always (negedge reset or posedge clk)if ( !reset ) begin cnt_clk=26d0; second_en=0;endelse if( cnt_clk!=26d4

    43、0_000_000 ) begin /分频26d40_000_000 cnt_clk=cnt_clk+1; second_en=0;endelse begin cnt_clk=26d0; second_en=1;end / 初值可控的十进制减法计数器 always (negedge reset or posedge clk)if ( !reset ) begin cnt_10=3d0; cnt_1=4d1;endelse if(second_en=1) begin if(s_3s) begin cnt_10=0; cnt_1=3; end else if(s_20s) begin cnt_10

    44、=2; cnt_1=0; end else if(s_30s) begin cnt_10=3; cnt_1=0; end else if( cnt_1=0) begin cnt_10=cnt_10-1; cnt_1=9; end else cnt_1=cnt_1-1; endassign cnt_ok = (cnt_10=0&cnt_1=1)? second_en : 1b0; / 计时到信号assign d_time = cnt_10,cnt_1; / 计数输出endmodule第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系模块设计模块设计 d

    45、isp_ctl的的HDL描述 module disp_ctl (clk, reset, d_time, d_col, d_out);/ 端口说明input clk;input reset;input 6:0 d_time;output 1:0 d_col; reg 1:0 d_col;output 7:0 d_out; reg 7:0 d_out;/ 变量说明reg 18:0 cnt_disp;wire 3:0 LED_data;/ LED动态显示控制always (negedge reset or posedge clk)if ( !reset ) begin cnt_disp=19d0;

    46、d_col=2b01;endelse if( cnt_disp!=19d400_000 ) / 显示延时19d400_000 cnt_disp=cnt_disp+1;else begin cnt_disp=19d0; d_col时设置分设置秒设置。在设置工作模式时,被设置相应数字按1秒速率闪烁,其它数字不变。在设置工作模式时,按UP键一次,被设置相应数字增加1,加到最大值后再加返回0,如小时加到23后再加就返回0,分和秒加到59后再加返回0 。v 系统设计依据:外部输入时钟为40MHZ。v 系统实现要求:要求用Mars-EP1C3-EDA实验平台。芯片与封装选择:本设计用EP1C3T FPGA

    47、实现,144脚封装,输入输出为LVTTL电平。第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系FPGA管脚分配管脚分配本 设 计 信 号名实验板信号名FPGA引脚备注本设计信号名实验板信号名FPGA引脚备注d_out0display7p5低显dp段d_col2Dis_A6P10低显示d_out1display6p4低显g段d_col3Dis_A5P7低显示d_out2display5p3低显f段d_col4Dis_A4P6低显示d_out3display4p2低显e段d_col5Dis_A3P11低显示d_out4display3p1低显d段d_col6Dis_A2P26低显示d_out5display2p143低显c段d_col7Dis_A1P27低显示d_out6display1p141低显b段setKEY1p107按下为低d_out7display0p142低显a段upKEY2p106按下为低d_col0Dis_A8P31低显示clkCLK_40Mp1640M时钟d_col1Dis_A7P28低显示resetSYS_RSTp144低复位第十一第十一讲讲 数字系统设计原则与设计实例数字系统设计原则与设计实例 西安邮电学院通信工程系实验板实验板

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:最新Verilog课件-第十一讲-数字系统设计原则与设计实例.ppt
    链接地址:https://www.163wenku.com/p-2773501.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库