一、题目
(二)子任务 2
利用给定的 FPGA 芯片内部资源,根据要求设计逻辑模
块,完成功能仿真验证并下载至 FPGA 芯片验证功能。
1.任务要求
(1)FPGA 应用系统板开发
比赛用 FPGA 应用系统板分成两部分,一部分是比赛现
场提供的已经设计完成的 FPGA 应用基础板,另外一部分是
需要选手设计焊接的 FPGA 应用开发板。
首先根据比赛所提供的 PCB 板和电子元器件以及相关
装配图等,进行 FPGA 应用开发板的设计及焊接;在此基础
上将比赛现场提供的 FPGA 应用基础板装接到 FPGA 应用开
发板上,形成完整的 FPGA 应用系统板。
(2)FPGA 程序设计与下载验证
设计一个状态机,该状态机包括 1 个时钟信号,1 个信
号输入端 IN 和 3 个信号输出端 OUT1、OUT0、HZ。状态机
的状态转移要求如表 1 所示,在 CLK 上升沿触发进行状态
转移。比赛选手采用 Verilog HDL 语言,并使用相关软件完
成电路设计和功能仿真,并将设计下载到 FPGA 应用系统板
上进行功能验证。
2.操作过程
(1)采用 FPGA 应用系统板频率为 32MHz 的晶振;
(2)选手设计一个分频器,将 32MHz 进行分频,产生
的信号作为表 1 所示状态机的时钟输入;
(3)设计表 1 所示的状态机;
(4)使用 Verilog HDL 设计七段数码管译码电路;
(5)将 OUT1OUT0 组合的二进制数经译码后,送到
FPGA 应用系统扩展板的七段数码管上进行显示,从数码管
上直接读出 0,1,2,3 这四个数。
3.现场评判要求
(1)只允许展示已完成的电路图、验证结果等。
(2)FPGA 系统板不能进行增加、删除、修改、连线等
操作。
二、源代码
1、顶层模块
module dcmk(clk,rst,IN,seg,com,led);
input clk,rst;
input IN;
output [7:0]seg;
output com;
output led;
wire [1:0]OUT;
ztj u1(.clk(clk),
.rst(rst),
.IN(IN),
.OUT(OUT),
.HZ(led)
);
seg u2(.in(OUT),
.seg