FPGA-江苏省集成电路技能大赛(2024)样卷1

一、题目

(二) 子任务2(20分)
利用给定的 FPGA 芯片内部资源,根据任务要求编写硬件描述语言源程序,完成仿真并下载至 FPGA 应用系统板上进行功能验证。

  1. 任务要求
    完成图 1 所示流水灯电路的设计、仿真,并下载到 FPGA应用系统板上进行功能验证。
    [嵌入对象]
图1  流水灯电路功能框图

输入时钟为板载100MHz晶振产生的时钟,经过分频器后得到1Hz时钟。流水灯由8个LED灯组成,按以下8个图案顺序进行循环显示:
图案1–向右依次点亮:10000000 -> 11000000 -> 11100000 … -> 11111110 -> 11111111;
图案2–向左依次熄灭:11111110 -> 11111100 -> 11111000 -> … -> 10000000 -> 00000000;
图案3–向左依次点亮:00000001 -> 00000011 -> 00000111 -> … -> 01111111 -> 11111111;
图案4–向右依次熄灭:01111111 -> 00111111 -> 00011111 -> … -> 00000001 -> 00000000;
图案5–两边向中间点亮:10000001 -> 11000011 -> 11100111 -> 11111111;
图案6–中间向两边熄灭:11100111 -> 11000011 -> 10000001 -> 00000000;
图案7–中间向两边点亮:00011000 -> 00111100 -> 01111110 -> 11111111;
图案8–两边向中间熄灭:011111110 -> 00111100 -> 00011000 -> 00000000。
要求在8个LED灯上显示流水灯图案时,同步在1个数码管上显示图案编号1->8。即:用数码管显示当前正在运行的图案编号。
2. 操作过程
1)FPGA 程序设计与下载验证
针对图 1 所示的流水灯功能框图,使用相关软件和硬件描述语言(VHDL或者Verilog HDL二选一,不得使用原理图,也不得调用IP),完成电路设计和功能仿真验证。
2) FPGA 应用系统板开发
根据比赛所提供的物料,完成 FPGA 应用系统板的开发。
3)FPGA 程序设计与下载验证
将设计好的流水灯程序下载到 FPGA 应用系统板上,利用系统板上相关的资源进行验证,确保该单元功能完整。

二、源代码

1、顶层模块代码

module top_module(clk,rst,led,seg,com);
input clk,rst;
output [7:0]led,seg;
output com;

wire [3:0]state;

led_module  u1(.clk(clk),
               .rst(rst),
               .led(led),
               .state(state)
               );
 
seg_module  u2(.clk(clk),
               .rst(rst),
               .state(state),
               .seg(seg),
               .com(com)
               );              

endmodule

2、LED模块代码

module led_module
#(parameter u1s_max = 27'd99_999_999)
(clk,rst,led,state);
input clk,rst;
output [7:0]led;
output [3:0]state;

reg [7:0]led;
reg [3:0]state;

reg [26
  • 19
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值