实验四_4_位计数器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四4 位计数器设计
1. 实验目的
学习quartusii 和modelsim 的使用方法;
学习原理图和veriloghdl 混合输入设计方法;
掌握4位计数器设计的设计及仿真方法。
2. 实验原理
设计其中的计数器模块CNT4E和数码管译码驱动模块DECL7S勺verilogHDL代码,并作出整个系统仿真。
2.1 4位计数器模块代码
module CNT4B(out, CLK, RST); //
output out; //
in put CLK, RST; //
reg [3:0] out; //
always (posedge CLK or n egedge RST) //
begin
if(!RST) //
out <= 4'dO;
else
out <= out + 1; //
end
en dmodule
低电平复位
每一个clk计数
效果图:
定义模块名和各个端口
定义输出端口
定义输入时钟和复位
定义四位计数器
上升沿时钟和下降沿复位
2.2七段数码管代码
module segled(out1,a); // in
put [3:0]a; //
output [6:0]out1; //
reg [6:0]out1; //reg always(a)
// begin case(a) //case
4'b0000:out1<=7'b0111111;
4'b0001:out1<=7'b0000110;
4'b0010:out1<=7'b1011011;
4'b0011:out1<=7'b1001111;
4'b0100:out1<=7'b1100110;
4'b0101:out1<=7'b1101101;
4'b0110:out1<=7'b1111101;
4'b0111:out1<=7'b0000111;
4'b1000:out1<=7'b1111111;
4'b1001:out1<=7'b1101111;
4'b1010:out1<=7'b1110111;
4'b1011:out1<=7'b1111100;
4'b1100:out1<=7'b0111001;
4'b1101:out1<=7'b1011110;
4'b1110:out1<=7'b1111001;
4'b1111:out1<=7'b1110001;
endcase end en dmodule // 模
块结束效果图:
定义模块名和输入输出端口
输入一个3位矢量
输出一个6位矢量
型变量用于always语句
语句用于选择输出
CNT4B:b2v inst
敏感信号a
2.3 综合模块代码
// Copyright (C) 1991-2013 Altera Corporation
// Your use of Altera Corporation's 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.
// PROGRAM "Quartus II 64-Bit"
// VERSION "Version 13.1.0 Build 162 10/23/2013 SJ Web Edition"
// CREATED "Tue Apr 11 22:35:09 2017"
module cou(
CLK,
RST,
); in put wire CLK; in put wire
RST;
output wire [6:0] Q;
wire [3:0] SYNTHESIZED_WIRE_0; CNT4B b2v_i nst(
.CLK(CLK),
.RST(RST), .out(SYNTHESIZED_WIRE_0)); segled b2v_i nst1(
•a(SYNTHESIZED_WIRE_0), .out1(Q)); en dmodule
效果图:
v -_E
3. 实验设备
kx3c10F+开发板,电脑。
4. 实验步骤 4.1编译
4.1.1编译结果如下图所示:
一一
丿 y
►
■审包办暫或
♦ x e «
(■rnjK±1tnifrtEr * 盘囂 *
GmpiiKii Aiixft • curii
o ■
»■*
-♦ ■*jv
*
I^TlHLr
O
^snr^fkl- B
>111 w SUIT
・ Bhla
"5 FlwS^inEp Q UAW □ M -lt ■smo
LN *知.•卜 2 c
,叮
U13
弟皿
・甲
3 *
HW|e
MTN
4«nl
Top-rwl Erttfiiame
0 FtarDS r Ewmwr
Odniij □MMH
vanEwcii > j 出 m
何
“itNH
Th^Hi^s
Hnil
> 13PW
reft
II f UM 1 < 1.〕
rifcal
M
< 3s
*] , 』
ni-B^iiMi 11 Triii "ntfiv
<1
『
H W 1 • j
CNTT4B:b2v inst segled :b2v Jnstl
CLK Q
Rsrl >
DUtl[6..Q]
a [王®