4线2线译码器Word格式.docx
- 文档编号:17483687
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:9
- 大小:84.81KB
4线2线译码器Word格式.docx
《4线2线译码器Word格式.docx》由会员分享,可在线阅读,更多相关《4线2线译码器Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
0
1
②对电路进行仿真分析;
③选择器件,分配引脚,重新对设计项目进行编译和逻辑综合;
④对EDAPro2K数字实验装置中的FPGA器件进行在系统编程,并实际测试电路的逻辑功能;
4具体步骤
4.1建立Quartus工程;
1.打开QuartusII工作环境
2.点击菜单项File->
NewProjectWizard帮助新建工程
3.输入工程工作路径、工程文件名以及顶层实体名
4.添加设计文件
5.选择设计所用器件
6.设置EDA工具
7.查看新建工程总结
在完成新建后,QuartusII界面中ProjectNavigator的Hierarchy标签栏中会出现用户正在设计的工程名以及所选用的器件型号
4.2使用VerilogHDL完成设计输入
A:
4线2线代码
modulep_encoder(In,out_coding);
input[3:
0]In;
output[1:
0]out_coding;
wire[3:
reg[1:
always@(In)
begin
casez(In)
4'
b1?
?
:
out_coding=2'
b11;
b01?
b10;
b001?
b01;
b0001:
b00;
default:
endcase
end
endmodule
B:
十进制加减可逆计数器代码:
1)顶层模块
modulecnt10_top(clk,crl,s,t,out);
inputcrl,s,t;
inputclk;
output[7:
0]out;
wirecp;
0]Q;
wire[7:
freqDivU0(clk,cp);
//tochangetheclockrate
cnt10U1(crl,s,t,cp,Q);
SEG7_LUTU2(out,Q);
//tooutputtheresult
Endmodule
2)十进制可逆计数模块
modulecnt10(nclr,s,t,clk,Q);
inputclk,nclr,s,t;
output[3:
reg[3:
regflag;
initial
begin
flag=1;
always@(posedgeclkornegedgenclr)
begin
if(!
nclr)
Q<
=4'
b0000;
//clear
else
casez({s,t})
2'
b00:
if(Q==9)
Q<
b1000;
flag<
=0;
end
elseif(Q==0)
b0001;
flag<
=1;
elseif(flag==1)
Q<
=Q+1;
else
=Q-1;
b01:
if(Q==0)
b1001;
3)分频模块
modulefreqDiv(in_50MHz,out_1Hz);
inputin_50MHz;
outputout_1Hz;
regout_1Hz;
reg[25:
0]cnt;
always@(posedgein_50MHz)
cnt<
=cnt+1'
B1;
if(cnt<
26'
d24999999)
out_1Hz<
=0;
else
if(cnt>
=26'
d50000000)
b0;
elseout_1Hz<
=1;
end
endmodule
4)显示模块
moduleSEG7_LUT(oSEG1,iDIG);
0]iDIG;
0]oSEG1;
reg[7:
0]oSEG;
always@(iDIG)
case(iDIG)
4'
h0:
oSEG=8'
b00111111;
h1:
b00000110;
h2:
b01011011;
h3:
b01001111;
h4:
b01100110;
h5:
b01101101;
h6:
b01111101;
h7:
b00000111;
h8:
b01111111;
h9:
b01101111;
ha:
b01110111;
hb:
b01111100;
hc:
b00111001;
hd:
b01011110;
he:
b01111001;
hf:
b01110001;
assignoSEG1=~oSEG;
4.3电路编译
4.4电路仿真
选择仿真参数
保存波形文件Q_DECODE_38.vwf
点击菜单项Processing->
GenerateFunctionalSimulationNetlist,产生功能仿真网表
点击菜单项Processing->
StartSimulation启动功能仿真
仿真波形如下:
CLR=0时,清零:
CLR=1,S=0,T=0,自动计数(0-9,9-0,……):
CLR=1,S=0,T=1,手动计数(0-9,0-9,……):
CLR=1,S=1,T=0,手动计数(9-0,9-0,……):
CLR=1,S=1,T=1,手动计数(9-0,9-0,……):
4.5器件的编程下载
下载程序:
在Programmer界面中,将.sof文件列表中Program/Configure属性勾上
再点击Start按钮,开始下载程序。
完成后,下载程序显示100%
最终调试,在DE0实验板上,扳动SW2,SW1和SW0开关,可以看到译码之后的LEDR7-LEDR0红色LED发光输出。
例如:
扳动SW1和SW0时仅有LEDR3亮。
5实验总结
本次实验是对编程语言VerilogHDL的学习和巩固,通过不用做电路图而直接找各个工作点以及门电路之间的关系写出语言描述,再根据语言描述仿真看结果是否符合预期结果,这在一定的程度上节省了画图所浪费的时间,效率较高,另外这是一门重要且比较基础的语言,通过这次实践让自己更加熟悉
同时,学会了对Quartus这个软件的基本操作
另外,本次实验应用层次化的设计输入方法:
“自顶向下”的全新设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计,由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避免设计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次成功率。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 译码器