版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系第三讲第三讲 同步数字系统设计基础同步数字系统设计基础v 数字系统的分层和分域描述 v 现代数字系统设计方法 v 数字系统RTL级设计方法 v 本讲要点和实验要求第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系数字系统的描述数字系统的描述 数字系统常采用分层描述的方法,实践证明这是数字系统常采用分层描述的方法,实践证明这是行之有效的,因为:行之有效的,因为:v分层次反映了事物的内在联系,可使大化小,复杂变简单。v分层次可将一些细节隐藏起来,减少每次处理事物的数量,便于控制事物复杂度。v分
2、层次可以实现模块化的设计。 第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系数字系统描述可按抽象层次不同划分为行为域、数字系统描述可按抽象层次不同划分为行为域、结构域和物理域描述结构域和物理域描述 :结构域结构域行为域行为域物理域物理域体系结构框图模块框图网表逻辑门系统规格算法行为RTL布尔方程传递函数晶体管版图单元宏单元模块系统实现第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系现代数字系统设计方法现代数字系统设计方法结构域结构域行为域行为域物理域物理域体系结构框图模块框图网表逻辑门系统规格算法行为RTL布尔方程传递函数晶体管系统级
3、人工设计RTL综合行为综合模块级人工设计单元(LE)单元映射、布局、布线第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系系统规格系统规格 (specification)系统规格是数字系统设计的目标。包括:系统规格是数字系统设计的目标。包括: v数字系统功能的描述。常用功能框图、功能说明、时序图、C语言及system C等描述。vI/O引脚的描述,如功能、排列、驱动能力、电平等。v定时的描述,如引脚建立保持时间、时序要求、时钟频率等。v其它物理参数,如功耗、极限参数、封装等。第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系系统体系结构设
4、计(系统设计)系统体系结构设计(系统设计)按系统规格的要求,人工设计系统的体系结构,按系统规格的要求,人工设计系统的体系结构,划分系统功能块,并给出系统的设计规范划分系统功能块,并给出系统的设计规范: : v功能块、输入输出接口定义及时序要求。v时钟域划分,跨时钟域异步电路划分。v系统和功能块的复位处理方法。v系统和功能块的测试方法。v对复杂设计需建立系统的行为模型。第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系功能块的算法模型功能块的算法模型 v一般功能块总是完成一个确定的任务,可以采用算法模型描述。v算法模型描述了模块硬件的行为,但不关心硬件具体实现的方法。
5、v算法模型是事件驱动的,不含严格的时钟信息,类似于软件的程序,可用C、HDL语言描述。现在也较多采用MATLAB,system C等语言描述。第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系模块体系结构设计模块体系结构设计 由算法模型设计出模块及模块的体系结构,一般是将由算法模型设计出模块及模块的体系结构,一般是将模块划分出两个独立的部分,一是完成数据处理操作的模块划分出两个独立的部分,一是完成数据处理操作的数字电路部分,称数据路径;其二是决定不同操作执行数字电路部分,称数据路径;其二是决定不同操作执行顺序的控制电路部分,称控制逻辑顺序的控制电路部分,称控制逻辑。
6、控制逻辑数据路径状态反馈控制信号输出数据输入数据控制输入第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系RTL级设计级设计 RTL RTL(Register Transfer LevelRegister Transfer Level)级设计是模块设计)级设计是模块设计的主要工作。模块的功能可定义为一组寄存器及对寄存的主要工作。模块的功能可定义为一组寄存器及对寄存器的操作,对寄存器的信号进行传输和处理称为寄存器器的操作,对寄存器的信号进行传输和处理称为寄存器传输操作。数字系统设计是传输操作。数字系统设计是RTLRTL级设计需满足三个条件级设计需满足三个条件:1) 系
7、统中有定义的一组寄存器。如 R1、R2。2) 能对寄存器的数据进行操作。如 R1- R1R2。3) 系统中有信号控制操作的时序。如 if(T1=1) R1- R2;第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系RTL级设计级设计 一般常用的寄存器操作有:一般常用的寄存器操作有:v 将数据由一个寄存器传输到另一个寄存器的传输操作。v 对寄存器中的数据进行算数、逻辑操作。v 对寄存器中数据进行移位操作。v 对寄存器进行复位、置位操作。R1R3R2D3D2D1D00D3D2D1右移第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系门级网表与
8、物理实现门级网表与物理实现由RTL级设计,通过综合工具,可综合出门级网表。后续的布局布线设计工作一般可在设计人员指导下由EDA工具完成。第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系 数字系统数字系统RTL级设计方法级设计方法 数字系统设计模型数字系统设计模型: 一般数字系统的逻辑设计分为两一般数字系统的逻辑设计分为两个独立的部分,数据路径和控制逻辑。个独立的部分,数据路径和控制逻辑。 控制逻辑数据路径状态反馈控制信号输出数据输入数据控制输入第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系数据路径数据路径 数据路径 是输入数据的处理
9、单元,一般完成数据的算数运算、逻辑运算和移位等操作,主要由加法器、逻辑运算单元、译码器、多路选择器、计数器、移位寄存器和数据寄存器等器件构成。 第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系控制逻辑控制逻辑 控制逻辑:给数据路径提供一系列控制信号,并由控制输入和数据路径的状态反馈决定控制信号的产生。控制逻辑主要由触发器和逻辑门组成。 数字系统的控制逻辑和数据路径目前一般使用RTL级的硬件算法确定。数字系统设计中最有挑战性和最富有创造性的工作是提出硬件算法。 第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系算法流程图算法流程图 算法流
10、程图是从程序流程图发展出来的一种数字系统算法流程图是从程序流程图发展出来的一种数字系统的功能描述方法。它由启动框、结束框、工作框、判决的功能描述方法。它由启动框、结束框、工作框、判决框、条件框和有向线组成。框、条件框和有向线组成。左图所示算法流程图描述了一个计数器R,启动一次就从0计数到10后结束,并同步显示。工作框。框内说明对应电路的功能判决框。框内说明判决条件,并有2个以上输出。条件框。框内说明对应电路功能,并一定与判决框一个分支相连,且与判决框并发工作,与程序流程图不同。R=0R=10?R显示启动结束10R=R+1第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工
11、程系算法状态机(算法状态机(ASM) v 算法流程图可以方便地描述数字系统的主要功能,但不能描述同步时钟控制下,信号间的严格时序关系。进一步发展的可用于定义数字系统硬件电路的方法,称为算法状态机图(algorithmic state machine),简称ASM图。v ASM图:与算法流程图形式上相似,但有本质区别。它主要由三部分组成:状态框,判决框和条件框。v 算法流程图与ASM图主要区别在操作驱动不同,算法流程图是由事件驱动的操作,而ASM图的所有操作是由时钟驱动的操作。第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系状态框状态框 状态框描述了在某一个状态下状
12、态机的操作和输出。寄存器操作或输出 R 名称编码本状态操作DDD状态转移和次态输出组合电路CLK输入输出100当前状态输出组合电路输出输入状态框定义的电路第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系判决框判决框 判决框判决框又称为条件分支框,用单入口双出口的 菱形框 或单入口多出口的多边形表示,如图所 示。框中内容是被检验的判别变量和判别条件,其中的判别变量可以是状态变量,也可以是外输入变量;变量的个数可以是一个,也可以是多个;变量的作用 可以同等重要,可以有优先级顺序。判决框描述了当前输入和状态变量对状态转移或输出的影响,不同的条件给出相应的转移路径。判 决
13、 条件10判决条件第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系条件框条件框 条件框描述了在某一个状态下状态机的有条件操作和输出。条件框的输入一定是来自判决框的转移路径,条件框的操作是在给定状态下,满足一定条件后执行的操作。寄 存 器 操作或输出 来自判决框的转移路径 E R=001第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系ASM块块 ASM块包括一个状态框和连接到它输出的所有判决框和条件框。 每一个ASM块描述了一个时钟周期的系统状态和操作。如图,当系统处于S1状态时,在ASM块内的所有操作会在同一个时钟周期内同时执行,同时
14、系统从S1状态将转移到另一个状态(S2、S3或S4),具体转移路径由E、F值决定。 AA1 E R=001 F01S2S3S4S1001ASM块第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系ASM块与状态机关系块与状态机关系DDD状态转移和次态输出组合电路CLK输入输出100当前状态输出组合电路输出输入状态框定义的电路判决框和条件框定义的电路AA1 E R=001 F01S2S3S4S1001ASM块次态输出组合电路第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系ASM的时序的时序 同步数字系统中所有寄存器的时序是由一个时钟控制的。
15、时钟不仅加在数据路径上,也加在控制逻辑(控制状态机)上。当CLK上升沿到来时,系统转向状态S1,下列操作在同一个时钟期间并行进行:a) AA1b) 如果E1,则 R0c) 当下一个CLK上升沿到来时,当前状态S1转向次态。现态S1操作:AA1;If(E1)then R0;CLK次态S2、S3或S4第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系ASM例例等效的等效的ASM块块 表示组合逻辑。在同一个时钟周期内完成。与执行顺序无关。x1x2Z2Sn001S2011S3100S2110S3S状态Z11Z21第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮
16、电学院通信工程系ASM例例等效的判决框等效的判决框 第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系ASM例例错误反馈信号的错误反馈信号的ASM块块 反馈路径未通过状态框。产生组合逻辑环。第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系ASM例例功能等效的并行判决框和串行判决框。功能等效的并行判决框和串行判决框。第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系ASM图与状态图转换图与状态图转换 ASM图与状态图是等效的,可以互相转换。状态框判决框条件框第三讲第三讲 同步数字系统同步数字系统设计基础设计基础
17、 西安邮电学院通信工程系ASM流程图与状态图的时序图流程图与状态图的时序图第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系设计例设计例 模块功能模块功能: 设计一个实现两个4bit无符号二进制数相乘的硬件乘法器。设计要求设计要求: 要求用一个4bit加法器串行相加实现,如图模块。 resetclkstmul3.0muld3.0doneproduct7.0my_mult4inst输入输出说明:输入输出说明:Reset:复位Clk:时钟St:启动信号Done:运算结束信号Mul:乘数Muld:被乘数Product:运算结果第三讲第三讲 同步数字系统同步数字系统设计基础
18、设计基础 西安邮电学院通信工程系二进制乘法原理二进制乘法原理 (算法模型)(算法模型)第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系模块算法流程图模块算法流程图 说明:vSt:操作启动信号。vACC8:0: 累加器vcnt: 移位计数器vSUM4:0: 加法器和vMULD: 4bit被乘数vMUL: 4bit乘数v结果放在ACC7:0中重点:算法流程图要描述清楚操作数据和控制信号间的逻辑关系。开始St=1? ACC =0, cnt=0, ACC3:0=MULDSUM= ACC8:4+0,MULACC0=1?ACC8:4=SUMACC右移1位cnt3?YYNNNY
19、cnt=cnt+1第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系模块体系结构框图模块体系结构框图 数据路径控制逻辑4bit加加法器法器9bit移位移位寄存器寄存器CLK:同步时钟:同步时钟Load:数据加载信号:数据加载信号Sh: ACC右移信号右移信号Ad:ACC8:4更新信号更新信号Done:结束信号:结束信号St:开始信号:开始信号M:乘数值信号:乘数值信号第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系数据路径设计数据路径设计-加法器部分加法器部分module my_mult_data(reset,clk, mul, mul
20、d, 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;/
21、 描述加法器第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系数据路径设计数据路径设计-移位寄存器部分移位寄存器部分assign m = acc0; / 将ACC最低位送m/用用alwaysalways块描述累加器操作块描述累加器操作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 els
22、e if(sh =1) acc=1b0,acc8:1; / ACC右移 一位assign product = acc7:0; / 乘法运算结果endmodule第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系模块时序图设计模块时序图设计 对较复杂的关键电路,结合算法流程图和初步的体系结构图,设计者应画出模块的时序图,必要时交互修改体系结构图。这是一个反复修改、细化设计的过程,需要设计者灵和应用相关知识和发挥创意,将事件驱动的算法转换为时钟驱动的控制信号和数据操作。计算结果第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系控制逻辑控制逻辑
23、ASM图图说明:说明:根据算法流程图、体系结构图根据算法流程图、体系结构图或时序图,分配状态,并画出或时序图,分配状态,并画出ASM图。图。信号说明:信号说明:vLoad:数据加载信号:数据加载信号vSh: ACC右移信号右移信号vAd:ACC8:4更新信号更新信号vDone:结束信号:结束信号vSt:开始信号:开始信号vM:乘数值信号:乘数值信号vK: ACC右移次数为右移次数为3时,时, k1第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系控制逻辑的控制逻辑的verilog设计设计module my_mult_ctl(reset,clk, start, m,
24、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;第
25、三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系控制逻辑的控制逻辑的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;
26、 S1: if( m=1b1) /乘数为1 begin ad=1b1; /加被乘数,修改Ad赋值 next_state=S2; /进入S2 end else begin sh=1b1; /乘数为0,直接右移,修改Sh赋值 if(k=1b1) /乘数完进入S3 next_state=S3; else next_state=S1 /乘数未完,返回S1 end第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系控制逻辑的控制逻辑的verilog设计设计S2: begin sh=1b1; /右移 if(k=1b1) /乘数完进入S3 next_state=S3; else n
27、ext_state=S1 /乘数未完,返回S1 endS3: begin next_state=S0; /返回S0 done=1b1; / 一次操作完成,结束指示置1 end endcaseend第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系控制逻辑的控制逻辑的verilog设计设计always (posedge reset or posedge clk) /状态转移,状态机时序逻辑电路 if (reset=1) state=0; else state=next_state; /D触发器 always (posedge clk or posedge load)
28、/右移计数器,状态机辅助电路 if (load=1b1) / 加载数据时,清右移计数器cnt和K begin cnt=2b00; k=0; end else if (cnt=2b11) /右移到第4bit,结束指示K置1 k=1; else if ( sh=1b1 ) /右移1位,右移计数器cnt加1 cnt=cnt+1;endmodule第三讲第三讲 同步数字系统同步数字系统设计基础设计基础 西安邮电学院通信工程系综合出综合出my_mult.vmy_mult.v的的RTLRTL级原理电路级原理电路 state1:01:0Q1:0D1:0R PATnext_state1ededed01un1_un1_un1_stateShcnt1:0R1:0Q1:01:0D1:0un3_cnt1:0+1:01:01un1_un1_state_2un1_un1_state_1un1_next_state55Adun1_state_510un1_state_410un1_state_301un1_un1_state01Load01un2_K01Done01DoneAdShLoadMStCLK第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山东协和学院单招职业适应性测试题库含答案详细解析
- 2026年福建师范大学协和学院单招职业适应性测试题库有答案详细解析
- 2026上半年四川成都经济技术开发区(龙泉驿区)考核招聘事业单位人员10人备考题库带答案详解ab卷
- 2025-2026学年东亚与日本教案
- 城市供热管道老化更新改造项目运营管理方案
- 2026江苏宿迁市卫生健康委员会所属事业单位招聘11人备考题库附答案详解【考试直接用】
- 2026河北雄安交通投资有限公司校园招聘2人备考题库(轻巧夺冠)附答案详解
- 2026年山东工业职业学院单招职业适应性测试题库附答案详细解析
- 8.1.1传染病及其预防教学设计-2023-2024学年生物八年级下册人教版
- 污泥脱水系统升级方案
- 智能化系统施工方案
- 电磁屏蔽防护装置采购合同
- 医疗卫生信息数据安全与隐私保护规范(标准版)
- 儿童画手工葡萄课件
- 环卫公司清扫保洁范围及清扫方案
- 《护理疑难病例讨论》课件
- GB/T 12758-2023城市轨道交通信号系统通用技术条件
- 高速公路安全养护作业规程优质资料
- 雁行理论优质获奖课件
- 伊利亚穆辛俄国指挥艺术的一代宗师
- JJF 1609-2017余氯测定仪校准规范
评论
0/150
提交评论