电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

最新verilog幻灯片-第八讲-同步数字系统设计基础

48页
  • 卖家[上传人]:F****n
  • 文档编号:88149651
  • 上传时间:2019-04-20
  • 文档格式:PPT
  • 文档大小:674.50KB
  • / 48 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第八讲 同步数字系统设计基础,数字系统的分层和分域描述 现代数字系统设计方法 数字系统RTL级设计方法 本讲要点和实验要求,数字系统的描述,数字系统常采用分层描述的方法,实践证明这是行之有效的,因为: 分层次反映了事物的内在联系,可使大化小,复杂变简单。 分层次可将一些细节隐藏起来,减少每次处理事物的数量,便于控制事物复杂度。 分层次可以实现模块化的设计。,数字系统描述可按抽象层次不同划分为行为域、结构域和物理域描述 :,现代数字系统设计方法,系统规格 (specification),系统规格是数字系统设计的目标。包括:,数字系统功能的描述。常用功能框图、功能说明、时序图、C语言及system C等描述。 I/O引脚的描述,如功能、排列、驱动能力、电平等。 定时的描述,如引脚建立保持时间、时序要求、时钟频率等。 其它物理参数,如功耗、极限参数、封装等。,系统体系结构设计(系统设计),按系统规格的要求,人工设计系统的体系结构,划分系统功能块,并给出系统的设计规范: 功能块、输入输出接口定义及时序要求。 时钟域划分,跨时钟域异步电路划分。 系统和功能块的复位处理方法。 系统和功能块的测试方

      2、法。 对复杂设计需建立系统的行为模型。,功能块的算法模型,一般功能块总是完成一个确定的任务,可以采用算法模型描述。 算法模型描述了模块硬件的行为,但不关心硬件具体实现的方法。 算法模型是事件驱动的,不含严格的时钟信息,类似于软件的程序,可用C、HDL语言描述。现在也较多采用MATLAB,system C等语言描述。,模块体系结构设计,由算法模型设计出模块及模块的体系结构,一般是将模块划分出两个独立的部分,一是完成数据处理操作的数字电路部分,称数据路径;其二是决定不同操作执行顺序的控制电路部分,称控制逻辑。,RTL级设计,RTL(Register Transfer Level)级设计是模块设计的主要工作。模块的功能可定义为一组寄存器及对寄存器的操作,对寄存器的信号进行传输和处理称为寄存器传输操作。数字系统设计是RTL级设计需满足三个条件: 1) 系统中有定义的一组寄存器。如 R1、R2。 2) 能对寄存器的数据进行操作。如 R1- R1R2。 3) 系统中有信号控制操作的时序。如 if(T1=1) R1- R2;,RTL级设计,一般常用的寄存器操作有: 将数据由一个寄存器传输到另一个寄存

      3、器的传输操作。 对寄存器中的数据进行算数、逻辑操作。 对寄存器中数据进行移位操作。 对寄存器进行复位、置位操作。,右移,门级网表与物理实现,由RTL级设计,通过综合工具,可综合出门级网表。后续的布局布线设计工作一般可在设计人员指导下由EDA工具完成。,数字系统RTL级设计方法,数字系统设计模型: 一般数字系统的逻辑设计分为两个独立的部分,数据路径和控制逻辑。,数据路径,数据路径 是输入数据的处理单元,一般完成数据的算数运算、逻辑运算和移位等操作,主要由加法器、逻辑运算单元、译码器、多路选择器、计数器、移位寄存器和数据寄存器等器件构成。,控制逻辑,控制逻辑:给数据路径提供一系列控制信号,并由控制输入和数据路径的状态反馈决定控制信号的产生。控制逻辑主要由触发器和逻辑门组成。 数字系统的控制逻辑和数据路径目前一般使用RTL级的硬件算法确定。数字系统设计中最有挑战性和最富有创造性的工作是提出硬件算法。,算法流程图,算法流程图是从程序流程图发展出来的一种数字系统的功能描述方法。它由启动框、结束框、工作框、判决框、条件框和有向线组成,且各框由事件驱动并发工作,与程序流程图不同。,左图所示算法流程图

      4、描述了一个计数器R,启动一次就从0计数到10后结束,并同步显示。,工作框。框内说明对应电路的功能,判决框。框内说明判决条件,并有2个以上输出。,条件框。框内说明对应电路功能,并一定与判决框一个分支相连。,算法状态机(ASM),算法流程图可以方便地描述数字系统的主要功能,但不能描述同步时钟控制下,信号间的严格时序关系。进一步发展的可用于定义数字系统硬件电路的方法,称为算法状态机图(algorithmic state machine),简称ASM图。 ASM图:与算法流程图形式上相似,但有本质区别。它主要由三部分组成:状态框,判决框和条件框。 算法流程图与ASM图主要区别在操作驱动不同,算法流程图是由事件驱动的操作,而ASM图的所有操作是由时钟驱动的操作。,状态框,状态框描述了在某一个状态下状态机的操作和输出。,寄存器操作或输出,R = 0; START,名称,编码,S1,001,例,名称,编码,本状态操作,状态框定义的电路,判决框,判决框又称为条件分支框,用单入口双出口的 菱形框 或单入口多出口的多边形表示,如图所 示。框中内容是被检验的判别变量和判别条件,其中的判别变量可以是状态变量,

      5、也可以是外输入变量;变量的个数可以是一个,也可以是多个;变量的作用 可以同等重要,可以有优先级顺序。判决框描述了当前输入和状态变量对状态转移或输出的影响,不同的条件给出相应的转移路径。,条件框,条件框描述了在某一个状态下状态机的有条件操作和输出。条件框的输入一定是来自判决框的转移路径,条件框的操作是在给定状态下,满足一定条件后执行的操作。,ASM块,ASM块包括一个状态框和连接到它输出的所有判决框和条件框。 每一个ASM块描述了一个时钟周期的系统状态和操作。如图,当系统处于S1状态时,在ASM块内的所有操作会在同一个时钟周期内同时执行,同时系统从S1状态将转移到另一个状态(S2、S3或S4),具体转移路径由E、F值决定。,ASM块与状态机关系,状态框定义的电路,判决框和条件框定义的电路,次态输出组合电路,ASM的时序,同步数字系统中所有寄存器的时序是由一个时钟控制的。时钟不仅加在数据路径上,也加在控制逻辑(控制状态机)上。当CLK上升沿到来时,系统转向状态S1,下列操作在同一个时钟期间并行进行: a) AA1 b) 如果E1,则 R0 c) 当下一个CLK上升沿到来时,当前状态S1转向

      6、次态。,现态S1操作: AA1; If(E1) then R0;,ASM例,等效的ASM块,表示组合逻辑。在同一个时钟周期内完成。与执行顺序无关。,S状态,Z11,Z21,ASM例,等效的判决框,ASM例,错误反馈信号的ASM块,反馈路径未通过状态框。产生组合逻辑环。,ASM例,功能等效的并行判决框和串行判决框。,ASM图与状态图转换,ASM图与状态图是等效的,可以互相转换。,状态框,判决框,条件框,ASM流程图与状态图的时序图,设计例,模块功能: 设计一个实现两个4bit无符号二进制数相乘的硬件乘法器。 设计要求: 要求用一个4bit加法器串行相加实现,如图模块。,输入输出说明: Reset:复位 Clk:时钟 St:启动信号 Done:运算结束信号 Mul:乘数 Muld:被乘数 Product:运算结果,二进制乘法原理 (算法模型),模块算法流程图,说明: St:操作启动信号。 ACC8:0: 累加器 cnt: 移位计数器 SUM4:0: 加法器和 MULD: 4bit被乘数 MUL: 4bit乘数 结果放在ACC7:0中 重点: 算法流程图要描述清楚数据路径、操作数据和控制信号

      7、间的逻辑关系。,模块体系结构框图,数据路径,控制逻辑,4bit加法器,9bit移位寄存器,CLK:同步时钟 Load:数据加载信号 Sh: ACC右移信号 Ad:ACC8:4更新信号 Done:结束信号 St:开始信号 M:乘数值信号,数据路径设计-加法器部分,module my_mult_data(reset,clk, mul, muld, load, sh, ad, m, product); input reset; input clk; /时钟 input load; /数据加载信号 input sh; / ACC寄存器值右移信号 input ad; / ACC8:4值更新信号 input 3:0 mul; / 4bit乘数 input 3:0 muld;/ 4bit被乘数 output m; / 是否加被乘数信号 output 7:0 product; /乘法运算结果 / 模块内局部信号 reg 8:0 acc; / ACC寄存器 wire 4:0 sum; / 加法器输出部分和 assign sum = 1b0,muld+ acc7:4;/ 描述加法器,数据路径设计-移位寄存

      8、器部分,assign m = acc0; / 将ACC最低位送m /用always块描述累加器操作 always (posedge reset or posedge clk) if(reset=1) acc=9d0; / 复位信号reset为1时ACC置0 else if(load =1) acc=5b00000,mul; / 加载0和乘数到ACC else if(ad =1) acc8:4= sum; / 加载求和值到ACC else if(sh =1) acc=1b0,acc8:1; / ACC右移 一位 assign product = acc7:0; / 乘法运算结果 endmodule,模块时序图设计,对较复杂的关键电路,结合算法流程图和初步的体系结构图,设计者应画出模块的时序图,必要时交互修改体系结构图。这是一个反复修改、细化设计的过程,需要设计者灵和应用相关知识和发挥创意,将事件驱动的算法转换为时钟驱动的控制信号和数据操作。,计算结果,控制逻辑ASM图,说明: 根据算法流程图、体系结构图或时序图,分配状态,并画出ASM图。 信号说明: Load:数据加载信号 Sh: AC

      9、C右移信号 Ad:ACC8:4更新信号 Done:结束信号 St:开始信号 M:乘数值信号 K: ACC右移次数为3时, k1,控制逻辑的verilog设计,module my_mult_ctl(reset,clk, start, m, load, sh, ad, done); input clk; /时钟 input st; /开始信号 input m; / 是否加被乘数信号 output load; reg load; /数据加载信号 output sh; reg sh; / ACC寄存器值右移信号 output ad; reg ad; / ACC8:4值更新信号 output done; reg done; /结束信号 wire k; /累加结束信号 reg 1:0 cnt; /累加计数器 reg 1:0 state, next_state; parameter1:0 S0=2b00, S1=2b01, S2=2b10, S3=2b11;,控制逻辑的verilog设计,always (st or k or m or state) / 状态转移和输出,状态机组合逻辑电路 begin load=0; /非阻塞赋值,在本次always操作完成时才赋值, sh=0; /在本次always中其它地方可以改变该值,实际 ad=0; /赋值是最后一次改变的值。 done=0; case(state) S0: if( st=1b1) /开始 begin load=1b1; next_state=S1; /进入S1 end else next_state=S0; S1: if( m=1b1) /乘数为1 begin ad=1b1; /加被乘数,修改Ad赋值 next_state=S2; /进入S2 end else begin sh=

      《最新verilog幻灯片-第八讲-同步数字系统设计基础》由会员F****n分享,可在线阅读,更多相关《最新verilog幻灯片-第八讲-同步数字系统设计基础》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.