西安交大数电实验时序逻辑电路实验报告.docx
- 文档编号:5826107
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:5
- 大小:15.65KB
西安交大数电实验时序逻辑电路实验报告.docx
《西安交大数电实验时序逻辑电路实验报告.docx》由会员分享,可在线阅读,更多相关《西安交大数电实验时序逻辑电路实验报告.docx(5页珍藏版)》请在冰豆网上搜索。
西安交大数电实验时序逻辑电路实验报告
实验名称:
时序电路实验
一.实验目的:
1.学习使用HDL进行时序电路设计;
2.学习编辑顶层文件和用户约束文件;
3.熟悉同步和异步的概念及实现方法;
4.熟悉在Basys2开发板简单外围设备的控制;
5.熟悉时钟的分频方法及占空比的调节。
二.预习内容
1.用HDL设计一个秒脉冲(1s,2s,3s)发生器,并用LED显示:
分析:
本电路设计主要分为三个部分:
分频,计数,译码
1.1HDL源文件(Verilog):
modulemod10(
inputclk,clr,
outputreg[6:
0]a_to_g,
outputwire[3:
0]an,
outputreg[3:
0]q
);
assignan=4'b1110;//最右译码管使能
reg[26:
0]counter;//时钟分频,默认时钟为50MHZ,分频为1HZ,即周期为1s
always@(posedgeclk)
if(counter==25000000)
counter<=0;//达到一半时计数归零
else
counter<=counter+1;
regclk_div;//引入新的电平
always@(posedgeclk)
if(counter==25000000)clk_div<=~clk_div;//达到一半时电平翻转,使占空比为50%,同理可知,要使脉冲的周期变为2s、3s,只需用50MHZ除以相应的频率,得到所需分频数(50000000,,75000000).然后引入一个新的寄存变量,使它在达到分频数一半时翻转,同时计数归零。
这样就得到了所需的频率,并且保证了占空比为50%。
//带有异步清零的十进制计数器
always@(posedgeclk_divorposedgeclr)
begin
if(clr==1)
q<=0;
elseif(q==9)
q<=0;
else
q<=q+1;
end
always@(*)
case(q)
0:
a_to_g=7'b0000001;
1:
a_to_g=7'b1001111;
2:
a_to_g=7'b0010010;
3:
a_to_g=7'b0000110;
4:
a_to_g=7'b1001100;
5:
a_to_g=7'b0100100;
6:
a_to_g=7'b0100000;
7:
a_to_g=7'b0001111;
8:
a_to_g=7'b0000000;
9:
a_to_g=7'b0001100;
default:
a_to_g=7'b0000001;
endcase
endmodule
1.2Basys2约束文件:
NET"q[0]"LOC="G1";
NET"a_to_g[0]"LOC="M12";
NET"a_to_g[1]"LOC="L13";
NET"a_to_g[2]"LOC="P12";
NET"a_to_g[3]"LOC="N11";
NET"a_to_g[4]"LOC="N14";
NET"a_to_g[5]"LOC="H12";
NET"a_to_g[6]"LOC="L14";
NET"an[3]"LOC="K14";
NET"an[2]"LOC="M13";
NET"an[1]"LOC="J12";
NET"an[0]"LOC="F12";
NET"clk"LOC="B8";
NET"clr"LOC="G12";
2.设计一个带有异步清零和置数信号(置数为全逻辑1)的4位寄存器,并在开发板上验证
2.1HDL源文件:
moduleregf(clr,clk,d,load,q
);
inputwireclk;
inputwireclr;
inputwireload;
input[3:
0]d;
output[3:
0]q;
reg[3:
0]q;
always@(posedgeclkorposedgeclr)
begin
if(clr==1)
q<=0;//异步清零
elseif(!
clr&&load)
begin
q[0]<=1;
q[1]<=1;
q[2]<=1;
q[3]<=1;
end//同步置数
else
q<=d;
end
endmodule
2.2约束文件:
NET"clk"LOC="B8";
NET"clr"LOC="P11";
NET"load"LOC="L3";
NET"q[3]"LOC="G1";
NET"q[2]"LOC="P4";
NET"q[1]"LOC="N4";
NET"q[0]"LOC="N5";
NET"d[3]"LOC="G3";
NET"d[2]"LOC="F3";
NET"d[1]"LOC="E2";
NET"d[0]"LOC="N3";
2.3仿真文件:
moduleregftest;
//Inputs
regclr;
regclk;
reg[3:
0]d;
regload;
//Outputs
wire[3:
0]q;
//InstantiatetheUnitUnderTest(UUT)
regfuut(
.clr(clr),
.clk(clk),
.d(d),
.load(load),
.q(q)
);
initialbegin
//InitializeInputs
clr=0;
clk=0;
d=0;
load=0;
//Wait100nsforglobalresettofinish
#100;
//Addstimulushere
clr=1;#200;
clr=0;clk=1;d=0100;#200;
clr=0;clk=0;d=1100;#200;
clr=0;clk=1;d=1001;#200;
clr=0;clk=0;d=0011;#200;
clr=0;clk=1;d=0000;#200;
clr=0;clk=0;d=0010;#200;
clk=1;
load=1;
end
endmodule
2.4仿真图像:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西安 交大 实验 时序 逻辑电路 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)