2017春电赛FPGA基本任务一实验报告

2019-04-13 12:57发布

  • ——设备:PC机 QuartusII软件开发平台(9.1sp2版本)
  • ——存在problem:RTL电路不太会绘制…TAT

计数器仿真实验 1 内容

  • 使用Veriog - HDL 语言按照如下要求设计一个计数器电路并进行仿真测试

信号定义

信号名称 方向 位宽 说明 clk 输入 1 输入时钟信号 RST 输入 1 输入复位清零信号,异步高电平有效 CNT 输出 3 输出计数值信号

计数器特征

从0计数到5,然后又变成0,如此往复 0 1 2 … 5 0 1 2 … 5 0 1 2 … 5

同步时钟电路仿真实现过程

1. 分析题目要求及数据

计数器是时序电路中常用的原件之一,主要用来实现计数或者定时功能。根据题目要求,这里我们设计的是一个计数初值为0的同步6进制计数器,其中信号位宽即表示数据所用的比特数。根据EDA课程学到的内容,首先对计数器有一个大致的模型,如下图所示: 图1
自行设计电路思路方法全部来自数字电路课程的知识
对时序电路部分的一些重点知识作截图整理如下
这里写图片描述

2. 模6计数器电路的状态转移图以及电路设计过程:

这里写图片描述

3. Quartus II软件实现电路设计:

这里写图片描述
count6仿真
波形仿真结果验证电路设计基本正确。

4. Verilog HDL代码如下:

////////// 模6 计数器 //////////////// module top(clk,//input 1,同步时钟信号 RST,//input 2,复位信号 CNT);//output,输出计数信号 input clk,RST; output[2:0] CNT; reg[2:0] CNT; always@(posedge clk or posedge RST) begin if(RST) begin CNT<=0; end else begin if(CNT<5)begin CNT<=CNT+1; end else begin CNT<=0; end end end endmodule tips:
  • 本实验使用MAX7000S系列的EPM7032SLC44-6芯片实现,引脚分配由编译系统自动分配。
  • 由QuartusII 软件扫描生成RTL电路图并查看的步骤如下:
    • 输入代码,选择Processing > start > Analysis & Elaboration
    • Tools > Netlist viewer > RTL viewer

5. 查看RTL电路图

count6rtl

计数器仿真实验 2 内容

  • 使用Veriog - HDL 语言按照如下要求设计一个计数器电路并进行仿真测试

信号定义

信号名称 方向 位宽 说明 clk 输入 1 输入时钟信号 RST 输入 1 输入复位清零信号,异步高电平有效 CNT 输出 4 输出计数值信号

计数器特征

设计一个计数器,该计数器在电路上电后会循环的从0值递增计数到最大值M,计数最大值M是一个循环变化的过程,计数器复位之后,第一次计数最大值M是6,然后是7、8、9,然后计数最大值M又变成6,如此往复循环,计数过程如下所示: 0 1 2 … 6 0 1 2 … 7 0 1 2 … 8 0 1 2…9 0 1 2…6 …

分析题目要求分析电路完成代码实现仿真

1.计数器电路的状态转移图如下所示:

这里写图片描述
对题目一代码稍作改动进行仿真验证

2.Verilog HDL代码:

module count3(RST, CLK, CNT); //计数值输出 input RST;// 复位信号 input CLK; //同步时钟信号 output [3:0] CNT; //计数值输出 parameter MIN=6; //计数最小模值为6 parameter MAX=9; //计数最大模值为9 reg [3:0] CNT; reg [3:0] CNT_max=MIN;//reg变量初始化为MIN计数最小值 always @ (posedge CLK or posedge RST)begin if(RST)begin CNT <= 0; //信号复位 CNT_max <= MIN; //计数模值复位 end else begin if(CNT < CNT_max)begin CNT <= CNT + 1'b1; //计数累加1 end else if(CNT == CNT_max)begin CNT <= 0; //归零重新开始计数 if(CNT_max < MAX) CNT_max <= CNT_max + 1'b1; //计数模值加1 else CNT_max <= MIN; end end end endmodule ####3.仿真结果如下: 春日记

4.查看RTL电路图

这里写图片描述