实验四 4 位计数器设计_第1页
实验四 4 位计数器设计_第2页
实验四 4 位计数器设计_第3页
实验四 4 位计数器设计_第4页
实验四 4 位计数器设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四 4 位计数器设计1. 实验目的学习quartusii 和modelsim的使用方法;学习原理图和veriloghdl混合输入设计方法;掌握4 位计数器设计的设计及仿真方法。2. 实验原理根据下面FPGA内部电路,设计4 位计数器,并在在kx3c10F+开发板上实现该电路,并作仿真。 设计其中的计数器模块CNT4B和数码管译码驱动模块DECL7S的verilogHDL代码,并作出整个系统仿真。2.1 4位计数器模块代码module CNT4B(out, CLK, RST); /定义模块名和各个端口 output out; /定义输出端口 input CLK, RST; /定义输入时钟和复位 reg 3:0 out; /定义四位计数器 always (posedge CLK or negedge RST) /上升沿时钟和下降沿复位 begin if(!RST) /低电平复位 out = 4d0; else out = out + 1; /每一个clk计数 endendmodule效果图:2.2七段数码管代码module segled(out1,a); /定义模块名和输入输出端口input 3:0a; /输入一个3位矢量output 6:0out1; /输出一个6位矢量reg 6:0out1; /reg型变量用于always语句always(a) /敏感信号abegincase(a) /case语句用于选择输出4b0000:out1=7b0111111; 4b0001:out1=7b0000110;4b0010:out1=7b1011011;4b0011:out1=7b1001111;4b0100:out1=7b1100110;4b0101:out1=7b1101101;4b0110:out1=7b1111101;4b0111:out1=7b0000111;4b1000:out1=7b1111111;4b1001:out1=7b1101111;4b1010:out1=7b1110111;4b1011:out1=7b1111100;4b1100:out1=7b0111001;4b1101:out1=7b1011110;4b1110:out1=7b1111001;4b1111:out1=7b1110001;endcaseendendmodule /模块结束效果图:2.3综合模块代码/ Copyright (C) 1991-2013 Altera Corporation/ Your use of Altera Corporations design tools, logic functions / and other software and tools, and its AMPP partner logic / functions, and any output files from any of the foregoing / (including device programming or simulation files), and any / associated documentation or information are expressly subject / to the terms and conditions of the Altera Program License / Subscription Agreement, Altera MegaCore Function License / Agreement, or other applicable license agreement, including, / without limitation, that your use is for the sole purpose of / programming logic devices manufactured by Altera and sold by / Altera or its authorized distributors. Please refer to the / applicable agreement for further details./ PROGRAMQuartus II 64-Bit/ VERSIONVersion 13.1.0 Build 162 10/23/2013 SJ Web Edition/ CREATEDTue Apr 11 22:35:09 2017module cou(CLK,RST,Q);input wireCLK;input wireRST;output wire6:0 Q;wire3:0 SYNTHESIZED_WIRE_0;CNT4Bb2v_inst(.CLK(CLK),.RST(RST),.out(SYNTHESIZED_WIRE_0);segledb2v_inst1(.a(SYNTHESIZED_WIRE_0),.out1(Q);endmodule效果图:3. 实验设备kx3c10F+开发板,电脑。4.实验步骤4.1编译4.1.1编译结果如下图所示:编译解释:在这个报告中,我们可以看到如下信息:Totallogicelements11/5136(1%):该芯片中共有5136个LE资源,其中的11个在这个工程的这次编译中得到了使用。Totalcombinationalfunctions11/5136(1%):该芯片的5136个LE资源中,其中11个用于实现组合逻辑。Dedicatedlogicregisters4/5136(0%):该芯片的5136个LE资源中,其中4个用于实现寄存器,即时序逻辑。从上述信息中,可以得到组合逻辑与时序逻辑的使用比例11/4=2.75:1。4.1.2综合出来的电路图电路图解释:从以上电路图可以看出本电路图主要由计数器(CNT4B)和七段数码管显示程序(segled)组成。从CNT4B的CLK端输入CLK信号,RST为低电平复位信号,本实验是四位二进制计数器可以计数16个,每个CLK上升沿计数一次,其中七段数码管是通过输入的四位二进制数来选择相应的断码进行输出显示。4.2管脚分配管脚连接:通过双击Location选择与芯片上相应的引脚进行连接。4.3仿真1.测试模块的代码module test; reg CLK, RST; /对输入信号定义reg型变量 wire 6:0Q; /输出定义为wire型 initial begin /变量初始化 RST = 1b0; #15 RST = 1b1; CLK = 1b0; end always #50 CLK=CLK; /产生时钟信号 cou U1(.CLK(CLK),.RST(RST),.Q(Q); /元件例化 endmodule2.modesim仿真图仿真图解释:通过仿真图我们可以看到程序一开始低电平复位,然后rst高电平。计数器开始计数,每过一个clk上升沿,七段数码管相应断码加1,与理论值相同,所以仿真验证成功,可以进行硬件仿真4.4下载验证5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论