西北工业大学数字电子技术基础实验报告实验3.docx
- 文档编号:5537872
- 上传时间:2022-12-19
- 格式:DOCX
- 页数:13
- 大小:953.10KB
西北工业大学数字电子技术基础实验报告实验3.docx
《西北工业大学数字电子技术基础实验报告实验3.docx》由会员分享,可在线阅读,更多相关《西北工业大学数字电子技术基础实验报告实验3.docx(13页珍藏版)》请在冰豆网上搜索。
西北工业大学数字电子技术基础实验报告实验3
数字电子技术基础第三次实验报告
、描述Quartusll软件基本使用步骤
1编写Verilog代码,用文本编辑器正确编写源文件,并经modelsim仿真确认该电路
设计正确。
2打开Quartusll软件,新建工程Newproject(注意工程名和设计文件的module名保
3
持一致),选择和开发板一致的FPGA器件型号。
■■pwwn
④编译,StartCompilation,编译源文件(如有错误修改后,重新编译)。
QuartusPrime
Im
■tWIRfetawej
.MtamM*E«Maa4inrv*nn
♦1Tln.
■EGviIiphiwiv
■
ErH
f4-xsffl
ECA-iha
Wmni
WmUAf
⑤查看电路结构,使用Tool->RTLviewer工具查看电路图结构,是否和预期设计一致。
rpM.Oi*>
1JiMiMdaOML La■D/»i-ii! Hbi .urmpM-羽r嘴U电 Of ■>lir¥i-*U■屮剑f*lMW"M*h1$TW ■I: (■■i! |*ijJHft*Ii■iE.duqa.,卜r|il. A,-K^'Mla^34rvf(r«ih>«rawwlas-Kifi*dmichWpcmim*efaharwlHKhinu.3.'thdd&aip*H¥l: MWmRM_LELHDCTE^DIS'*ihtnvr05Ttc-rvtw .llivl4nt*111Hi>4-Mjilltf¥1114igfIhB4 ■Z.7UZ-unriJ■»Ifii■-wrnrIuIfivJmtnt-,■w^aanr*fiIr■KdP-ir'iiH/prnrlM*! 1I,*. 题目代码以及波形分析 a)编写模块源码 moduleflipflop(D,Clock,Q); inputD,Clock; outputregQ; always@(posedgeClock)Q=D; endmodule b)测试模块 'timescale1ns/1ps moduletb_flipflop; regClock_test; regD_test; wireQ_test; initial Clock_test=0; always#20Clock_test=~Clock_test; initial D_test=0; always#77D_test=~D_test; flipflopUUT_flipflop(.CIock(Clock_test),.D(D_test),.Q(Q_test)); endmodule c) 仿真后的波形截图inputD0,D1,Sel,Clock; d) 2.设计一款4bBit具有并行加载功能的移位寄存器编写模块源码 a)编写模块源码 modulemuxdff(D0,D1,Sel,Clock,Q); outputregQ; wireD; assignD=Sel? D1: D0; always@(posedgeClock) Q<=D; endmodule moduleshift4(R,L,w,Clock,Q); input[3: 0]R; inputL,w,Clock; outputwire[3: 0]Q; muxdffStage3(w,R[3],L,Clock,Q[3]); muxdffStage2(Q[3],R[2],L,Clock,Q[2]); muxdffStage1(Q[2],R[1],L,Clock,Q[1]); muxdffStage0(Q[1],R[0],L,Clock,Q[0]);endmodule b)测试模块 'timescale1ns/1ps moduletb_shift4; regClock_test; regL_test; regw_test; reg[3: 0]R_test; wire[3: 0]Q_test; initial Clock_test=0; always#10Clock_test=~Clock_test; initial begin L_test=1; #14 L_test=0; //always#14L_test=~L_test;end initial w_test=0; always#13w_test=~w_test; initial R_test=4'b1010; shift4UUT_shift4(.CIock(Clock_test),.L(L_test),.w(w_test),.R(R_test),.Q(Q_test)); endmodule c)仿真后的波形截图 hntilBpp Iwiib^TMdipi■njmrfiB"nx丄・p2■甲些昏细 L为0时并行加载,数组R为加载时的输入。 L为1时移位,数组Q右移一位,左端补 当前变量w的值。 d)综合后的RTL图形 3.设计一款4bit带复位功能的计数器 a)编写模块源码 moduleupcount(Reset,Clock,E,Q);inputReset,Clock,E; outputreg[3: 0]Q; always@(posedgeReset,posedgeClock) if(Reset) Q<=0; elseif(E) Q<=Q+1; endmodule b)测试模块 'timescale1ns/1ps moduletb_upcount; regReset_test; regClock_test; regE_test; wire[3: 0]Q_test; initial Clock_test=0; always#5Clock_test=~Clock_test; initial begin Reset_test=1; E_test=0; #2 Reset_test=0; #8 E_test=1; #184 Reset_test=1; #2 Reset_test=0; #32 E_test=0; end upcountUUT_upcount(.Reset(Reset_test),.Clock(Clock_test),.E(E_test),.Q(Q_test)); endmodule c)仿真后的波形截图 Q加1. d)综合后的RTL图形 1'hOcin_Addo A[2-0]Oinra-O] Clock> 4'hlBJJ SCLR CLRN Reset二> 4.设计一款定时器,(女口: 时钟频率20M,定时为1秒)。 a)编写模块源码 moduletimer(Reset,Clock,E,Q,Sign); inputReset,Clock,E; outputreg[24: 0]Q=25'b000000000000000; outputregSign; always@(posedgeReset,posedgeClock)if(Reset) Q<=0; elseif(E) begin if(Q<20000000) begin Q<=Q+1; Sign=0; end elseif(Q>=20000000) begin Sign=1; Q<=0; end end endmodule b)测试模块 'timescale1ns/1ps moduletb_timer; regReset_test; regClock_test; regE_test; wire[24: 0]Q_test; wireSign_test; initial Clock_test=0; always#25Clock_test=~Clock_test; initial begin Reset_test=1; E_test=0; #1 Reset_test=0; E_test=1; end timer UUT_timer(.Reset(Reset_test),.Clock(Clock_test),.E(E_test),.Q(Q_test),.Sign(Sign_test)); endmodule c)仿真后的波形截图 当根据时钟信号计数到一秒时,Sign信号由零变为1,从而实现计时。 d)综合后的RTL图形 ©甲f 5.串并转换器 a)编写模块源码 b)测试模块 'timescale1ns/1ps moduletb_shared; regClock_test; regL_test; regw_test; reg[3: 0]R_test; wire[3: 0]Q_test; initial Clock_test=0; always#10Clock_test=~Clock_test; initial begin L_test=1; #14 L_test=0; //always#14L_test=~L_test;end initial w_test=0; always#13w_test=~w_test; initial R_test=4'b1010; shift4UUT_shift4(.CIock(Clock_test),.L(L_test),.w(w_test),.R(R_test),.Q(Q_test)); endmodule c)仿真后的波形截图 L为0时并行加载,数组R为加载时的输入。 L为1时移位,数组Q右移一位,左端补当前变量w的值。 当串行输入达到四个时即可并行输出,所以串并转换器本质是一个移位寄存器。 只是最后用一个D触发器存储数据再并行输出。 d)综合后的RTL图形 *+Fl•中■. 以及利用计数器实现 还学会了Quartusll 二、本次实验收获和心得 通过第三次数字电路实验,我对移位寄存器和计数器有了深刻的了解, 计时器和利用移位寄存器实现串并转换器,提高了Verilog编码能力, 软件的基本使用方法,以及如何对自己设计出的电路进行综合。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西北工业大学 数字 电子技术 基础 实验 报告