时序逻辑电路课件_第1页
时序逻辑电路课件_第2页
时序逻辑电路课件_第3页
时序逻辑电路课件_第4页
时序逻辑电路课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、时序逻辑电路1模拟与数字电路analog and digital circuits17_17_时序逻辑电路时序逻辑电路(4)(4)时序逻辑电路2主要内容 数码管动态显示 按键/开关去抖动 数字系统结构 时序二进制乘法器 寄存器组时序逻辑电路3nexys-3基本输入基本输入/输出输出 开关开关/按键按键 btn按下为1 sw拨到上为1 led指示灯指示灯 ld=1时点亮 7段数码管段数码管 an=0使能相应数位 cacg:字形码,0显示相应段(共阳极)时序逻辑电路4nexys-2基本输入基本输入/输出输出 开关开关/按键按键 btn按下为1 sw拨到上为1 led指示灯指示灯 ld=1时点亮 7

2、段数码管段数码管 an=0使能相应数位 cacg:字形码,0显示相应段(共阳极)时序逻辑电路5数码管动态显示4位位7段段数码数码显示显示接口接口8dg08dg18dg28dg3clkan0an1an28an3dgan0an1an2an3dg分频器分频器脉冲脉冲分配器分配器8dg08dg18dg28dg3clk8dg4an多路多路选择器选择器clk_low44时序逻辑电路6按键/开关去抖动0 0 0 1 2 0 1 2 3 0 0 0 0 0 0 0 0 0 1 0 0 1 2 3 0 0 0 0 0 clkinolopcnt输入输入整形整形电路电路inclkolop 若若inol,则,则cnt

3、计数,否则清零计数,否则清零 若若cnt=n,则,则ol=in,cnt=0 若若cnt=n且且in=1,则,则op=1 若若op=1,则,则op=0抖动持续时间一般在抖动持续时间一般在510ms时序逻辑电路7数字系统结构 数字系统 由若干逻辑功能部件构成,按一定顺序处理数字信号的电路 从结构上划分为数据通路和控制单元两部分 数据通路(data path) 数据在被处理过程中经过的路径 控制单元 (control unit) 控制数据通路中数据的流动方向和次序数据通路数据输入数据输出控制单元控制输入控制状态数字系统结构框图数字系统结构框图状态输出时序逻辑电路8示例1 时序二进制乘法器 x,y:输

4、入数据,被乘数和乘数,4位无符号二进制数 z:输出数据,8位积 start:控制输入,启动乘法运算,高电平有效 reset:控制输入,复位,高电平有效 done:状态输出,运算结束指示,高电平有效 clk:时钟输入start reset4位乘法器位乘法器4y4x8zdoneclk时序逻辑电路9乘法运算过程x2x3x0x1y2y3y0y1?z2z3z0z1z6z7z4z5+(当yi =1) ? ? ? ? =x3x2x1x0(当yi =0)0 0 0 0dba b手工运算过程手工运算过程+0 0 0 0 0y3y2y1y0? ? ? ?0 ? ? ? z00 ? ? ?z0y3y2y1+? ?

5、? ? ? ? ? z1? ? ? ?z1z0y3y2+? ? ? ? ? ? ? z2? ? ? ?z2z1z0y3+? ? ? ?z7 z6z5z4z3z3z2z1z0z7z6z5z4c=0,a=0,d=x,b=y c, a=a+d*y0 a, b=c,a,b1 ba操作说明操作说明 cc, a=a+d*y1 a, b=c,a,b1 c, a=a+d*y2 a, b=c,a,b1c, a=a+d*y3 a, b=c,a,b1 迭代运算过程迭代运算过程z = x y时序逻辑电路10乘法器结构clk数据通路数据通路控制单元控制单元start4y4xdone8zinit, add, cnt, s

6、hifte, b0resetstart reset4位乘法器位乘法器4y4x8zdone clk时序逻辑电路11乘法器结构(续)数据通路数据通路init: dx, by, t0 , a0, c0cnt: tt-1add: c, aa+dshr: c, a, bc, a, b1 , c0startresetclk控制单元控制单元initaddeb0cntshrdone2被乘数被乘数加法器加法器乘数乘数部分积部分积进位进位444bacd444xy4z计数器计数器t检测检测0e0时序逻辑电路12乘法器控制单元 状态图s0donestart/initresets1cnts2shrb0/add!b0!s

7、tarte!estartresetclk控制单元控制单元initaddeb0cntshrdoneinit: dx, by, t0 , a0, c0cnt: tt-1add: c, aa+dshr: c, a, bc, a, b1 , c0时序逻辑电路13乘法器控制单元(续1) 状态表reset start b0 esnsn+1doneinit add shr cnt1xxxxs00000100 xxs000001s001xxs110001s00x0 x000100x1xs201010s1s2s10xx0001000xx1s000100s2s1s2done =s0 init = starts0

8、add = b0 s1shr = s2 cnt = s1时序逻辑电路14乘法器时序图clkstarts0initstatecntaddshrs1s2s1s2s1s2?d?b?a?t11111011000000cdone111001110101101111011101101011e?时序逻辑电路15verilog描述二进制乘法器module binary_multiplier (x, y, z, start, done, reset, clk); output 7:0 z;output done;input 3:0 x, y;input start, reset, clk;reg 3:0 a,

9、b, d;reg c;reg 1:0 state, next_state, t;parameter s0=2b00, s1=2b01, s2=2b10;wire e;assign e = |t;assign z = a, b; clkstart reset乘法器乘法器4y4x8zdone时序逻辑电路16verilog描述二进制乘法器(续1)/state registeralways (posedge clk or posedge reset)begin if (reset) state = s0; else state = next_state;end assign done = (state

10、 = s0); /next state functionalways (start or e or state) begin case (state) s0: if(start) next_state = s1; else next_state = s0; s1: next_state = s2;s0donestart/initresets1cnts2shrb0/add!b0!starte!e时序逻辑电路17verilog描述二进制乘法器(续2) s2: if (!e) next_state = s1; else next_state = s0; default next_state = s0

11、; endcaseend/datapath functionalways (posedge clk) begin case (state) s0: if (start) begin d = x; b = y; a = 4d0; c = 1b0; t = 2b0; ends0donestart/initresets1cnts2shrb0/add!b0!starte!e时序逻辑电路18verilog描述二进制乘法器(续3)s1: begint = t - 2b01;if (b0) c, a = a + d;ends2: begina = c, a3:1;b = a0, b3:1;c = 1b0;

12、end endcaseendendmodules0donestart/initresets1cnts2shrb0/add!b0!starte!e时序逻辑电路19乘法器仿真波形时序逻辑电路20 寄存器之间传输数据 每个寄存器的数据输入处配置多路数据选择器(mux) 每个寄存器的输出数据连接到所有mux 灵活实现多个数据同时传送寄存器传送l0l1l2r0ldr1ldr2lds0s1s2nnmuxs01nnnmuxs01nnnmuxs01nr0 r1 ; s0=1, l0=1; s1=0, l1=1时序逻辑电路21 bus,多个部件共享用于传输数据的导线 每次只能传送一个数据总线r0 r1; s=1

13、, l0=1l0nr0ldsmuxs012nnl1nr1ldnl2nr2ldn2r0 r1; e1=1, l0=1nl0l1l2nr0ldnr1ldnr2ldnne2e1e0; e0=0, e2=0时序逻辑电路22寄存器组 也称寄存器堆,或者寄存器文件(register file) 例如,有3个读写端口的2m个n位寄存器,其中 d端口供写 da:寄存器地址 d:写入数据 we:写使能 a、b端口供读 aa、ba:寄存器地址 a、b:读出数据寄存器组(2mn)abddaaabawennnmmm时序逻辑电路23mux0123 r0de r1de r2de r3demux0123decoder012

14、3eaabddaaabawe2n22nnnnnn寄存器组的mux实现3端口4n寄存器组时序逻辑电路24寄寄存存器器组组的的三三态态门门实实现现3端口432寄存器组时序逻辑电路25alu 算术逻辑单元(arithmetic logic unit) 设计8位alualu功能表功能表s3 s2 s1 s0h f(标志)(标志)0 0 0 0x v:溢出标志 c:进位(加法)、 借位(减法)标志 n:负数标志 z:零标志0 0 0 1x+10 0 1 0x+y0 0 1 1x+y+10 1 0 0x-y-10 1 0 1x-y0 1 1 0x-10 1 1 1x1 0 0 xx&y z:零标志 n、v和c:任意1 0 1 xx|y1 1 0 x1 1 1 xalu8s88xyh4f4yxx时

温馨提示

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

评论

0/150

提交评论