十进制可逆加减计数器new.docx

上传人:marr****208 文档编号:145087546 上传时间:2020-09-16 格式:DOCX 页数:7 大小:463.63KB
返回 下载 相关 举报
十进制可逆加减计数器new.docx_第1页
第1页 / 共7页
十进制可逆加减计数器new.docx_第2页
第2页 / 共7页
十进制可逆加减计数器new.docx_第3页
第3页 / 共7页
十进制可逆加减计数器new.docx_第4页
第4页 / 共7页
十进制可逆加减计数器new.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《十进制可逆加减计数器new.docx》由会员分享,可在线阅读,更多相关《十进制可逆加减计数器new.docx(7页珍藏版)》请在金锄头文库上搜索。

1、时序电路逻辑设计实验人:周铮 班级:中法1202班 学号:U201215676一 实验目的1.掌握用SSI实现简单组合逻辑电路的方法。2.掌握简单数字电路的安装与测试技术。3.熟悉使用Verilog HDL描述组合逻辑电路的方法,以及EDA仿真技术。二 实验器件计算机,可编程实验板三 实验内容十进制加减可逆计数器设计功能要求:拨码开关键SW1为自动可逆加减功能键,当SW1为HIGH时,计数器实现自动可逆模十加减计数功能,即4个七段数码管上几乎同步显示0123498701的模十自动可逆加减计数结果;当SW1为LOW时,计数器按拨码开关键SW0的选择分别执行加减计数功能。即当SW0为HIGH时,计

2、数器实现模十加计数功能,即4个七段数码管上几乎同步显示01234901的模十加计数结果;当SW0为LOW时,计数器实现模十减计数功能,即4个七段数码管上几乎同步显示98710987的模十减计数结果。四 实验设计1.原理设计脉冲发生电路采用555定时器组成的多谐振荡器振荡产生周期为1s的矩形脉冲,从而为计数器提供触发信号。其中,可以通过R1,R2,C来控制充放电的时间。加/减计数控制电路主要由74LS138构成。74LS138芯片是常用的3-8线译码器,常用在单片机和数字电路的译码电路中,74LS138的引脚排列及真值表如图计数单元电路主要由十进制计数器74LS192构成。74LS192是同步十

3、进制可逆计数器,它具有双时钟输入,并具有清除和置数等功能,其引脚排列图如图功能表如图2.模拟仿真用Verilog HDL语言设计二通道数据选择器实验程序如下:实验代码module a( input clk, input SW1, input SW0, input clear, input reset, output reg3:0 s1_reg, output reg6:0 segdat_reg ); reg26:0 counter; reg3:0q; reg x; always(posedge clk) begin if(clear) begin s1_reg=0; counter=0; en

4、d else counter=counter+1; end always(posedge counter26) begin if (reset) begin q=0; x=0; end else begin case(SW1) 1d1:begin case(x) 1d0: begin if(q=4d8) x=1; q=q+1; end1d1: begin if(q=4d1) x=0; q=q-1; end endcase end 1d0:begin case(SW0) 1d0:begin if(q=4d0) q=4d9; else q=q-1; end 1d1:begin if(q=4d9)

5、q=4d0;elseq=q+1;endendcaseendendcaseendend always(q) / 数码管显示处理 begin case(q) 4h0:segdat_reg = 7b0000001; /0 4h1:segdat_reg = 7b1001111; /1 4h2:segdat_reg = 7b0010010; /2 4h3:segdat_reg = 7b0000110; /3 4h4:segdat_reg = 7b1001100; /4 4h5:segdat_reg = 7b0100100; /5 4h6:segdat_reg = 7b0100000; /6 4h7:se

6、gdat_reg = 7b0001111; /7 4h8:segdat_reg = 7b0000000; /8 4h9:segdat_reg = 7b0000100; /9 default:segdat_reg=7b0111000; /F endcaseendendmodule测试文件test代码module test;/ Inputsreg clk;reg SW1;reg SW0;reg clear;reg reset;/ Outputswire 3:0 s1_reg;wire 6:0 segdat_reg;/ Instantiate the Unit Under Test (UUT)a u

7、ut (.clk(clk), .SW1(SW1), .SW0(SW0), .clear(clear), .reset(reset), .s1_reg(s1_reg), .segdat_reg(segdat_reg); initial begin/ Initialize Inputsclk = 0;SW1 = 0;SW0 = 1;clear = 1;reset = 1;/ Wait 100 ns for global reset to finish#100; / Add stimulus hereend endmodule管脚设置ucf文件代码# PlanAhead Generated phys

8、ical constraints NET SW0 LOC = P11;NET SW1 LOC = L3;NET clear LOC = K3;NET clk LOC = B8;NET reset LOC = B4;NET segdat_reg0 LOC = M12;NET segdat_reg1 LOC = L13;NET segdat_reg2 LOC = P12;NET segdat_reg3 LOC = N11;NET segdat_reg4 LOC = N14;NET segdat_reg5 LOC = H12;NET segdat_reg6 LOC = L14;NET s1_reg0 LOC = F12;NET s1_reg1 LOC = J12;NET s1_reg2 LOC = M13;NET s1_reg3 LOC = K14;# PlanAhead Generated IO constraints NET clk SLEW = FAST;模拟仿真顶层原理图模拟仿真波形图五 实验心得本次实验要求用Verilog HDL语言做出十进制可逆加减计数器并进行模拟仿真,其中在代码部分出现多次bug,后经过仔细检查发现是测试文件未加限制的原因,最终做出了模拟仿真。

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

当前位置:首页 > 高等教育 > 其它相关文档

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