实验项目 Verilog时序逻辑设计 实验报告 模板

上传人:re****.1 文档编号:562980520 上传时间:2023-04-02 格式:DOCX 页数:16 大小:257.01KB
返回 下载 相关 举报
实验项目 Verilog时序逻辑设计 实验报告 模板_第1页
第1页 / 共16页
实验项目 Verilog时序逻辑设计 实验报告 模板_第2页
第2页 / 共16页
实验项目 Verilog时序逻辑设计 实验报告 模板_第3页
第3页 / 共16页
实验项目 Verilog时序逻辑设计 实验报告 模板_第4页
第4页 / 共16页
实验项目 Verilog时序逻辑设计 实验报告 模板_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《实验项目 Verilog时序逻辑设计 实验报告 模板》由会员分享,可在线阅读,更多相关《实验项目 Verilog时序逻辑设计 实验报告 模板(16页珍藏版)》请在金锄头文库上搜索。

1、电子科技大学实验报告学生姓名:方堃 学 号:2017060104012 指导教师:邓建一、实验项目名称:Verilog时序逻辑设计二、实验目的:掌握边沿D触发器74x74、同步计数器74x163、4位通用移位寄存器74x194, 的工作原理。采用移位寄存器74x194设计3位最大序列长度线性反馈移位寄存 器(LFSR: Linear Feedback Shif t Regis ter)计数器。采用同步计数器 74x163 设计频率为1Hz的数字信号。采用ISE软件进行Verilog设计和仿真,并下载 到 FPGA 开发板进行实际调试。三、实验内容:1 根据边沿D触发器74x74的原理图编写设计

2、和仿真模块。2根据通用移位寄存器 74x194 的原理图编写设计和仿真模块。3 采用1片74x194和其它小规模逻辑门设计3位LFSR计数器,编写设计 和仿真模块。4.根据4位同步计数器74x163的原理图编写设计和仿真模块。5 .输入为100MHz的系统时钟,采用7片74x163和其它小规模逻辑门设计 1Hz的数字信号。6 .在FPGA开发板上调试3位LFSR计数器。四、实验原理:图1所示为带有置位和清零端的边沿D触发器的逻辑图,本实验中用Verilog 语句来描述。图 1 中的 w1-w4 为中间信号名称。w1w2w3w4PR_LC?CLR_LaCLKo图 1 边沿 D 触发器的逻辑图图2

3、为4位通用移位寄存器74x194,本实验中用Verilog吾句来描述。注意 图 2与教材数字设计原理与实践(第4版)第528页的图 8-41有一点不同, 在图 2 中采用上升沿 D 触发器,所以输入 CLK 后面改为接缓冲器。CLRLINw1w:Dw3w10c01w9w11BS1w20RIN01w19CLR L Dw8w6w174S0_H4S1_HCLK DSI SO value when enabledLEFT 1w14D Q| i QD CLKCLRTRIGHT f图2 4位通用移位寄存器74x194的逻辑图图3是3位LFSR计数器的电路图。注意图3与教材数字设计一原理与实 践(第4版)第

4、535页的图8-52有一些不同,在图3中采用右移工作方式,输 出 QA 接高位 Q2 ,输出 QC 接低位 Q0 ,输入 ABCD 接 1000。这样修改的目的 是与教材第535页的图 8-51、表8-26以及表8-27一致。X2 X1 XOCLKLD_LCLFLLKeyU4Drn1Hz74LS194NU2A 匚 T4LSB6N图3 3位LFSR计数器lccU3A74LS02NU2B74LSB6NCLRw2QAQBw1718D QCK Q 01QCQDRCO图 4 同步计数器 74x163 的原理图在图3中,输入为1Hz的数字信号。在Nexys3开发板上自带1 OOMHz时钟, 为了便于将图3

5、的设计下载到FPGA开发板,需要设计1Hz的数字信号发生器。设输入为1OOMHz,输出为1Hz,则计数器的模为100M。采用十六进制计数 方式,有效状态选0-5F5E0FF,所以需要7片74x163。采用清零法,在状态5F5E0FF 时产生 LD_L 信号,LD丄二(Q26 Q24 RC05 Q18 Q16 Q15 Q14 Q13 RC01 RCO0)。输出选Q26,Q26的周期为1秒,占空比约33%。图4中的输入ABCD也可改为D0、D1、D2、D3,输出QA QB QC QD 可改为Q0、Q1、Q2、Q3,图4的设计可以采用门级描述,也可以采用 教材数字设计原理与实践(第4版)第525页的

6、表8-20中的行为描述。五、实验器材(设备、元器件):PC 机、Windows XP、Anvyl 或 Nexys3 开发板、Xilinx ISE 14开发工具、 Digilen t Ade下载工具。六、实验步骤:实验步骤包括:建立新工程、设计代码与输入、约束与实现、生成流代码 与下载调试。七、关键源代码:1. D触发器的Verilog代码module d_ff( CLK , D , PR_L , CLR_L , Q , QN);input CLK , D , PR_L , CLR_L ;output Q , QN ;wirew1 , w2 , w3 , w4 ;nand ( w1 , PR_L

7、 , w2 , w4 );nand ( w2 , CLR_L , w1 , CLK );nand ( w3 , w2 , CLK , w4 );nand ( w4 ,CLR_L , w3 , D );w2 , QN );nand ( QN , Q , w3 , CLR_L);endmodule initial beginCLK = 0 ;PR_L = 1CLR_L = 1 D = 0 ;#4D =1 ;#2D =0 ;#8D =0 ;#2D =1 ;#13CLR_L = 0#10CLR_L = 1#10PR_L =0#5D=0#10PR_L =1endalways begin#5 CLK =

8、CLKend仿真结果如下图所示。图5 D触发器的仿真结果3. D触发器在Nexys3开发板上的UCF文件NET CLK LOC=V10;#SwitchNET CLR_L LOC= T10; #SW0NET PR_LLOC= T9; #SW1NET DLOC= V9; #SW2#LedNET QN LOC=U16; #LD0NET Q L0C=V16; #LD14. 4位通用移位寄存器74x194的Verilog代码module Vr74xl94(CLK , CLR_L , LIN , RIN , SI , SO , A , B , C , D ,QA , QB , QC , QD);input

9、 CLK , CLR_L , LIN , RIN , S1 , S0 , A , B , C , D ;output QA , QB , QC , QD ;wire CLK_D ;wire CLR_L_D ;wire S1_L , S1_H ;wire S0_L , S0_H ;wire QAN , QBN , QCN , QDN ;wire w1 , w2 , w3 , w4 , w5 , w6 , w7 , w8 , w9 , w10 ;wire w11 , w12 , w13 , w14 , w15 , w16 , w17 , w18 , w19 , w20buf(CLK_D,CLK);

10、buf(CLR_L_D,CLR_L);not( ml,Sl);no t(mO,SO);and(nl,SO,ml,RIN);and(n2,S0,Sl,A);and(n3,mO,ml,QA);and(n5,S0,ml,QA);and(n6,S0,Sl,B);and(n7,mo,ml,QB);and(n8,mo,Sl,QC);and(n9,S0,ml,QB);and(nlO,SO,Sl,C);and(nll,mO,ml,QC);and(nl2,mo,Sl,QD);and(nl3,S0,ml,QC);and(nl4,S0,Sl,D);and(nl5,mO,ml,QD);and(nl6,mo,Sl,LI

11、N);or(pl,nl,n2,n3,n4);or(p2,n5,n6,n7,n8);or(p3,n9,nl0,nll,nl2);or(p4,nl3,nl4,nl5,nl6);vr74x 74ql(CLK_D,pl,ll,CLR_L_D,QA,QAN); vr74x 74q2(CLK_D,p2,ll,CLR_L_D,QB,QBN);vr74x 74 q3(CLK_D,p3,ll,CLR_L_D,QC,QCN); vr74x 74 q4(CLK_D,p4,ll,CLR_L_D,QD,QDN);endmodule574x194 寄存器的仿真测试代码initial begin/ Initialize I

12、nputsCLK = 0;CLR_L = 0;LIN = 0;RIN = 0;SI = 0;50 = 0;A = 0;B = 0;C = 0;D = 0;/ Wait 100 ns for global reset to finish #100;/ Add stimulus hereCLR_L = 1 ;51 = 0 ;50 = 0 ;#100 ;51 = 0 ;S0 = 1 ;RIN = 1 ;#100 ;S1 = 1 ;50 = 1 ;A = 0 ;B = 0 ;C = 0 ;D = 0 ;#100 ;51 = 1 ;50 = 0 ;LIN = 1 ;#100 ;51 = 1 ;S0 =

13、1 ;A = 1 ;B = 1 ;C = 1 ;D = 1 ;endalways begin#5 CLK = CLK end仿真结果如下图所示。QA QB QC QDCLKCLR_UNRINSO0 HEi i i i 1 i i i i100 HEi i i i 1 i i i i200 RE1 1 1 1 1 1 1 1 1300 HE1 1 1 1 1 1 1 1 1400 REIlli11r图6 74x194移位寄存器仿真结果6.3位LFSR计数器的Verilog代码module LFSR_8( CLK , RESET , X2 , XI , X0 );input CLK , RESET

14、 ; output X2 , X1 , X0 ;wire w1 , w3 , w6 ;Vr74xl94 Ul( .CLK(CLK),.CLR_L(lbl), .RIN(w6), .Sl(RESET), .SO(lbl), .A(lbl), .B(lbO), .C(lbO), .D(lbO), .QA(X2), QB(X1), QC(XO);xor(w3,X1,X0);nor(w1,X2,X1);xor(w6,w1,w3);endmodule7.3位LFSR计数器的的仿真测试代码initial begin/ Initialize InputsCLK = 0; RESET = 1;/ Wait 100 ns for global reset to finish #100;/ Add stimulus hereRESET = 0 ;endalwa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号