实验二_基于hdl十进制计数器设计

实验二_基于hdl十进制计数器设计

ID:15836885

大小:541.00 KB

页数:8页

时间:2018-08-06

实验二_基于hdl十进制计数器设计_第1页
实验二_基于hdl十进制计数器设计_第2页
实验二_基于hdl十进制计数器设计_第3页
实验二_基于hdl十进制计数器设计_第4页
实验二_基于hdl十进制计数器设计_第5页
资源描述:

《实验二_基于hdl十进制计数器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、西南科技大学实验报告课程名称:基于FPGA的现代数字系统设计实验名称:基于HDL十进制计数、显示系统设计姓名:袁谋学号:20124503班级:通信1204指导教师:龙惠民西南科技大学信息工程学院8一、实验目的1、掌握基于语言的ISE设计全流程;2、熟悉、应用VerilogHDL描述数字电路;3、掌握基于Verilog的组合和时序逻辑电路的设计方法。二、实验原理具有数显输出的十进制计数器的设计图2.1原理框图本设计包括3个模块:一个是十进制计数器,一个是驱动七段数码管的模块,一个消抖模块。输入信号:CLK_50M-------消抖基准延时clk-------待计数的时钟clr--------

2、-异步清零信号,当clr=1,输出复位为0,当clr=0,正常计数E---------使能控制信号,当ce=1,电路正常累加计数,否则电路不工作输出信号:data_out[6:0]---------驱动数码管,显示计数值的个位C-----------驱动发光二极管,显示计数值向十位的进位1、数码管显示驱动模块输入:data_in[3:0]-------待显示的数值输出:data_out[6:0]-------驱动数码管的七位数值(注意表中out的对应位)表2-1七段字符显示真值表82、十进制计数器模块输入信号:clk-------待计数的时钟clr---------异步清零信号,当clr=

3、1,输出复位为0,当clr=0,正常计数E---------使能控制信号,当E=1,电路正常累加计数,否则电路不工作输出信号:data_in[3:0]----------计数值的个位。即,在clk上升沿检测到data_in=9时,data_in将被置0,开始新一轮的计数。C------------计数值的十位进位,即:只有在时钟clk上升沿检测到data_in=9时,C将被置1,其余情况下C=0;3.消抖模块(1)按键抖动产生原因:通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及

4、断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。图2.2按键抖动波形图(2)本次试验的消抖模块图2.3消抖模块框图电平检查模块:检测输入的按键是否被按下或者释放,并分别将H2L_Sig,L2H_Sig拉高,并随后拉低,给出按键的操作信息。延时模块:对输入的信号变化时刻进行计时并观察信号的变换情况,对输出端口进行恰当地赋值。4、顶层模块设计二、实验步骤1、数码管显示驱动模块的设计(1)建立工程:file->NewProject,并注意器件、EDA工具的正确选择。8图3.1工程建立及工具选择(1)建立新VerilogHDL模块编辑窗口,选择资源类型为VerilogMo

5、dule,并输入合法文件名,在文本编辑窗口输入代码。图3.2文本编辑(2)执行综合得到综合后的电路,并进行功能仿真。2、计数器模块的设计设计步骤同数码管的设计,并完成模块的设计输入、综合、功能仿真。3、数码管和计数器组合为一个系统图3.3综合原理框图用Verilog8HDL将counter.v和seg7.v组合为一个模块,完成综合、功能仿真,分析波形,修正设计。modulecounter_seg7(clk,clr,E,C,data_out);inputclk,clr,E;outputC;output[6:0]data_out;wire[3:0]data_in;//两个模块之间的连接数据co

6、unteru1(clk,clr,E,C,data_in);//调用前面写好的计数器函数seg7u2(data_in,data_out);//调用前面写好的数码管函数endmodule图3.4综合电路逻辑结构图3.5仿真结果4、消抖模块设计了解消抖模块的功能,拷贝相关代码,拟采用实验板上的50MHZ时钟为延迟计数时钟。85、顶层模块设计用VerilogHDL代码描述如图模块的连接,并综合。modulecounter_seg7(CLK_50M,clk,clr,E,C,data_out);inputCLK_50M,clk,clr,E;outputC;output[6:0]data_out;wir

7、ePin_Out;wire[3:0]data_in;debounce_moduleu3(CLK_50M,clr,clk,Pin_Out);counteru1(Pin_Out,clr,E,C,data_in);seg7u2(data_in,data_out)endmodule6、顶层模块处理(1)锁定引脚(2)设置用户约束文件(*.ucf)由于clk没锁于ISE默认的时钟输入引脚上,需要添加“CLOCK_DEDICATED

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

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

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