数字电子技术基础实验_第1页
数字电子技术基础实验_第2页
数字电子技术基础实验_第3页
数字电子技术基础实验_第4页
数字电子技术基础实验_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、数字电子技术基础实验实验报告学 学 姓 专院: 号: 名: 业:实验时间: 实验地点:Figure 5.51 n 位移位寄存器、实验目的及要求编写 testbench 验证 Figure 5.51源代码功能,实现n 位移位寄存器。了解并熟悉移位寄存器的工作原理功能;熟悉 n 位移位寄存器的逻辑功能。所需功能:实现所需功能需要R, Clock, L, w , Q, 5 个变量,其中参数n设为缺省值16,以定义触发器的个数。当时钟信号Clock从0变为1时刻,正边沿触发器做出响应:当L=0时,对输出结果Q进行向右移位,将w的值赋给Q的 最高位,实现移位;当 L=1 时,将输入R 的值寄存在Q 中;

2、所需EDAT具及要求:Modelsim:1、在Modelsim 中建立工程,编写 Figure 5.51 模块的源码;2、编写 Figure 5.51 的测试模块源码,对Figure 5.51 进行仿真、测试,观察仿真波形图并进行分析等;Synplify Pro:1、使用 Synplify Pro对 Figure 5.51 进行综合,得到 RTL ViewTechnology View综合报表等,进行观察、分析等;二、实验内容与步骤1、在Modelsim中建立工程,编写 Figure 5.51模块的源码;本题实现的是一个n位移位寄存器,触发器对时钟信号 Clock敏感,为正边沿敏 感型。L实现

3、对Q的控制,若L=1,则将R寄存到Q中;若L=0,则对Q向右移 位。如下图是一个4位移位寄存器Our图表说明了该四位移位寄存器的移位过程module shiftn (R, L, w, Clock, Q);parameter n = 16;input n-1:0 R;input L, w, Clock;output reg n-1:0 Q;integer k;always (posedge Clock)if (L)Q <= R;elsebeginfor (k = 0; k < n-1; k = k+1)Qk <= Qk+1;Qn-1 <= w;endendmodule这是

4、可用于表示任意位宽的移位寄存器的代码,其中参数n 设为缺省值16, 以定义触发器的个数。 R 和 Q 的位宽用 n 定义,描述移位操作的 else 分支语句用 for 循环语句实现,可适用于由任意多个触发器组成的移位操作。2 、编写 Figure 5.51 的测试模块源码, 对 Figure 5.51 进行仿真、 测试, 观察仿真 波形图并进行分析等;'timescale 1ns/1ns module shiftn_tb;3 / 19parameter n = 16;reg n-1:0 R;reg L, w, Clock;wire n-1:0 Q;integer i;initialbe

5、ginL=1'b0;Clock=1'b0;w=1'b0;R=16'b0;endalways #5 Clock = Clock;always #10 L=L;always #20 w=w;alwaysfor(i=0;i<16*16*16*16;i=i+1)begin#2 R=R+1;endinitial#1000000000 $stop;shiftn e1(R, L, w, Clock, Q);endmodule这是可用于表示任意位宽的移位寄存器的测试模块源码。将变量R, Clock,L, w初始化为零,采用for循环语句对变量进行改变,R和Q的位宽依然用

6、n定义。3、使用 Synplify Pro对 XXX进行综合,得至U RTL View Technology View综合报表等,进行观察、分析等;(建议用 Altera Cyclone II EP2c20器件)4、使用 Quatu川进行 RTL Simulation Gate Level Simulation操作,进行测试、观 察仿真波形图并进行分析等。三、实验结果与数据处理1.仿真图初始时,R=0,Clock=0,L=0,w=0;当Clock由0变1且L=0的时刻,Q向右移位;19 / 19当当Clock由0变1且L=1的时刻,Q=R;2. RTL View图中参数n设为缺省值16,以定义

7、触发器的个数。若L=1,当触发器在时钟正沿时,Q=R若L=0,当触发器在时钟正沿时,将 Q向右 移一位,将w赋给最高位。通过观察RTL View视图,结合源码,可见在源码中 always语句判断时钟信号, 用if-else 语句判断左移还是右移,for语句进行移位操作,w和R一起可以看作 是17位的数,解决了移位时最高位的问题,结合 RTL View图从图中元器件来分 析我们的源码基本需要这些器件来实现。3. Technology View四、分析与讨论1 .在仿真时有时会出现以下错误:# Error opening D:/code test/figure5.51 - tb.v# Path n

8、ame 'D:/code test/figure5.51 - tb.v' doesn't exist.以及:# Error: invalid command name ":.main_erior.cs.body.pw.df.c"# Error: invalid command name ":.main_erior.cs.body.pw.df.c"# Error: invalid command name ":.main_

9、erior.cs.body.pw.df.c"# Error: invalid command name ":.main_erior.cs.body.pw.df.c"2. Verilog源代码中不能有中文符号,尤其是中文空格,因为这一点不容易发现 而导致一直编译不过。Figure 5.53 有并行载入端的 4 位递增计数器一、实验目的及要求编写 testbench 验证 Figure 5.53源代码功能, 实现有并行载入端的 4 位递增 计数器。目的:了解并熟悉递增计数器的工作原理熟悉 4 位递增计数器的逻辑功能所需功能:实现所需功

10、能需要R, Resetn, Clock, L, E, Q, 5 个变量。计数器中的触发器在Resetn从0变为1时刻,将计数器异步复位,否则 当时钟信号Clock从0变为1时亥L正边沿触发器做出响应:当L=1时,计数器中的触发器从输入 R并行加载数据,否则 当 E=1 时,计数器递增计数;所需EDAT具及要求:Modelsim:1、在Modelsim 中建立工程,编写Figure 5.53模块的源码;2、 编写Figure 5.53 的测试模块源码, 对 Figure 5.53进行仿真、测试,观察仿真波形图并进行分析等;Synplify Pro:1、使用 Synplify Pro对 Figur

11、e 5.53进行综合,得至U RTL View TechnologyView、综合报表等,进行观察、分析等;、实验内容与步骤1、在 Modelsim 中建立工程,编写Figure 5.53模块的源码;本题实现的是一个有并行载入端的4位递增计数器,触发器对时钟信号 Clock敏感,为正边沿敏感型;对异步复位信号Resetn敏感,为负边沿敏感型,当Resetn=0 时,Q=0O L, E实现对Q的控制,若L=1,则将R寄存到Q中;若L=0,则在使 能输入 E 的控制下计数器递增计数。下图是一个包含使能和清零功能的递增计数器。module upcount (R, Resetn, Clock, E,

12、L, Q);input 3:0 R;input Resetn, Clock, E, L;output reg 3:0 Q;always (negedge Resetn, posedge Clock)if (!Resetn)Q <= 0;else if (L)Q <= R;else if (E)Q <= Q + 1;endmodule这段代码描述了一个递增计数器。该计数器除了复位输入端之外,还有一个并行加载输入端,并行数据由输入向量R提供。第一个if语句与所示代码一样实现异步复位; else if 分支语句说明, 如果L=1, 则计数器的触发器在时钟正沿时从输入R并行加载数据;

13、如果L=0,则在使能输入E的控制下计 数器递增计数。2、编写Figure 5.53的测试模块源码,对Figure 5.53进行仿真、测试,观察仿真波形图并进行分析等;'timescale 1ns/1nsmodule upcount_tb;reg 3:0 R;reg Resetn, Clock, E, L;wire 3:0 Q;integer i;initialbeginResetn=1'b0;Clock=1'b0;E=1'b0;L=1'b0;R=4'b0;endalways #5 Clock=Clock;always #10 Resetn=Res

14、etn;always #20 L=L;always #40 E=E;alwaysfor(i=0;i<16;i=i+1)begin#2 R=R+1;endinitial#100000 $stop;upcount e(R, Resetn, Clock, E, L, Q);endmodule3、使用 Synplify Pro对 XXX进行综合,得至U RTL View Technology View综合报表等,进行观察、分析等;(建议用 Altera Cyclone II EP2C20器件)4、使用 QuatusII 进行 RTL Simulation Gate Level Simulatio

15、n操作,进行测试、观 察仿真波形图并进行分析等。三、实验结果与数据处理1. 仿真图f,口'f t : * r初始时,R=0,Clock=0,L=0,E=0,Resetn=0;当Clock由0变为1时,Resetn=0,故Q不变;当Clock再次由0变为1时,此时Resetn=1, L=1,故Q=R;当Clock又一次由0变为1时,止匕时Resetn=1, L=0, E=1故Q=Q+1;*/upcount_tb/Ctodc1,Ajpcount_lb/E1Ajpcount_tb3. 0P/A4Jcount_tbAJ0001J/upcouM_tb*.00 IL-Ajpcount_tb/R e

16、se tn11Ajpcount_tb3当Clock又一次由0变为1时,止匕时Resetn=1, L=0, E=0故Q不变; /upcDunt_tb/Clock* /upcount.tb/E.Ajpcount_tbAa /upcount_tbj'QA4Kxxnt_tb/R Ajpoouit_tbesetn B . Ajpcaunt tfa10000000111a(4 15 f6当Resetn由1变为0时,不论其他量如何变化, Q=0;/ upaxjntto/Clock /tpcountjbk /upcount_tb/L /pcountjtb/Q /upcount_tb /hfMDuntJto/lesfi tr /upcount tbj2. RTL View当Resetn=0时,Q=Q当Resetn=1且L=1时,计数器的触发器在时钟正沿时从输入R并行加载数据,Q=R;当Resetn=1且L=0, E=1时,计数器的触发器在时钟 正沿时递增计数。3. Technology View通过观察RTL Vie

温馨提示

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

评论

0/150

提交评论