基于verilog的抢答器设计

基于verilog的抢答器设计

ID:10658100

大小:108.70 KB

页数:6页

时间:2018-07-07

基于verilog的抢答器设计_第1页
基于verilog的抢答器设计_第2页
基于verilog的抢答器设计_第3页
基于verilog的抢答器设计_第4页
基于verilog的抢答器设计_第5页
资源描述:

《基于verilog的抢答器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于Verilog语言的二路抢答器设计实验报告电子科学与工程学院121180052李璇一、实验目的1、掌握数字系统中触发器、计数器的设计要素。2、掌握触发器、计数器的VerilogHDL代码编写。3、进一步掌握ISE软件的用法,学习代码下载的方法。二、实验步骤1、设计限时和复位电路。2、编写限时/复位电路的VerilogHDL代码并综合、仿真。3、实现限时抢答器并下载到开发板上进行验证。三、实验原理1、设计二路抢答器2、设计定时器和复位电路可使用计数器来实现定时功能。而给定时间的定时,可以让计数器的输出与特定值比较来实现。这个特定

2、的预置数由时钟频率和定时时间决定。这个基本想法如下图所示。图中,“时间到”信号接到计数器的清零端,以便下次计数从0开始。这里,还需要一个计时开始的功能按键,用来启动计数器的计时。那么,计数器就需要一个使能端,受控于“计时开始”按键。我们知道,EN信号是一个持续信号(允许时保持电平),而“时间到”信号是一个持续时间很短的脉冲,因此还需要一个触发器来产生计数器的EN信号。复位信号由“时间到”信号和复位按键相或来得到。完整的限时和复位电路如下图所示。一、实验代码//主程序部分Moduleresponder(inputclk,inputs

3、et,inputreset,inputwirein_a,inputwirein_b,outputwireq_a,outputwireq_b,outputen);wireclr;wire[27:0]cnt;wireclk_10;wiretimeout;reg[27:0]n=28'h1ffffff;assignclr=reset

4、

5、timeout;trigtrigger(.set(set),.clk(clk_10),.clr(clr),.en(en));countcounter(.clk(clk_10),.clr(clr),.en(e

6、n),.cnt(cnt));compcomparator(.cnt(cnt),.n(n),.timeout(timeout));fpga_2main(.in_a(in_a),.in_b(in_b),.clk(clk_10),.reset(clr),.q_a(q_a),.q_b(q_b),.en(en));endmodule//触发器trigger部分moduletrig(inputset,inputclk,inputclr,outputregen);always@(posedgeclk)beginif(clr)en=0;elseb

7、eginif(set)en=1;elseen=en;endendendmodule//计数器counter部分modulecount(inputclk,inputclr,inputen,outputreg[27:0]cnt);always@(posedgeclk)beginif(clr)cnt=0;elseif(en)cnt=cnt+1;endendmodule//比较器comparator部分modulecomp(inputwire[27:0]cnt,inputwire[27:0]n,outputregtimeout);alwa

8、ys@(*)if(cnt==n)timeout=1;elsetimeout=0;endmodule//抢答器部分modulefpga_2(inputwirein_a,inputwirein_b,inputwireclk,inputwirereset,inputen,outputregq_a,outputregq_b);always@(posedgeclk)beginif((q_b==1)

9、

10、(reset))q_a=0;elseif(in_a&&en)q_a=1;endalways@(posedgeclk)beginif((q_a=

11、=1)

12、

13、(reset))q_b=0;elseif(in_b&&en)q_b=1;endendmodule一、仿真测试1、测试代码//Addstimulushereset=1;reset=0;in_a=1;#1000in_a=0;#100in_b=1;#1000reset=1;#100in_b=0;#100reset=0;in_b=1;#1000in_b=0;#100in_a=1;#1000reset=1;#100in_a=0;#100reset=0;endalways#10clk=~clk;2、仿真结果二、验证限时电路和复位电路

14、1在工程中加入DCMmy_clkmy_dcm(.CLK_IN1(clk),.CLK_OUT1(clk_10),.RESET(1'b0),.LOCKED());1、为模块中的输入输出信号添加管脚约束(管脚定义),在工程中添加UCF文件。一、实验总结反

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。