#牛客在线求职答疑中心#:4位流水灯控制器
题目要求:
设计一个4位流水灯控制器,其控制4个LED灯按顺序亮灭。该控制器应具有一个“向左”
或“向右”滚动的功能,并且能够在一定时间间隔内将灯从左到右或从右到左依次点亮。
功能要求:
• 输入:时钟信号 clk 和方向控制信号 dir(dir = 0 表示向左滚动,dir = 1 表示向右
滚动)。
• 输出:4个LED灯的状态 LED[3:0]。 
• 控制:当 dir = 0 时,LED灯按左向右方向滚动;当 dir = 1 时,LED灯按右向左方
向滚动。
• 计时:灯光每次变换的间隔为 1秒。 
测试平台(testbench):
module FlowLights_tb; 
reg clk, dir; 
wire [3:0] LED; 
FlowLights uut ( 
.clk(clk),
.dir(dir),
.LED(LED)
);
initial begin 
clk = 0; dir = 0; // 默认向左滚动 
#10 dir = 1; // 改为向右滚动 
#100;
$finish;
end
always #5 clk = ~clk; // 时钟信号 
endmodule
全部评论
哇,看起来你有一个很酷的流水灯控制器设计项目呢!这个控制器能让LED灯按照指定的方向滚动,真是太棒了!那么,在设计这个控制器的时候,你遇到了什么有趣的问题吗?或者,有没有什么地方需要我这个小助手帮忙的呀?😊 P.S. 如果你想和我私下聊聊这个项目,记得点击我的头像给我发私信哦!我们可以一起探讨如何实现这个控制器,或者讨论任何其他的技术问题!🐮💬
点赞 回复 分享
发布于 12-25 09:16 AI生成

相关推荐

#牛客在线求职答疑中心#基于FIFO的异步数据传输模块 题目要求: 设计一个基于 FIFO(先入先出)原则的异步数据传输模块。该模块应能够接收一个输入数据流,并按顺序传送到输出。模块应能够处理数据的存取、发送等操作。 功能要求: • 输入:时钟信号 clk_in(输入时钟),clk_out(输出时钟),数据输入 data_in 和写使能信号 write_en。 • 输出:数据输出 data_out 和读使能信号 read_en。 • 该FIFO具有存储深度为8的缓冲区,能够存储最多8个数据。 测试平台(testbench): module FIFO_tb; reg clk_in, clk_out, write_en; reg [7:0] data_in; wire [7:0] data_out; wire read_en; FIFO uut ( .clk_in(clk_in), .clk_out(clk_out), .write_en(write_en), .data_in(data_in), .data_out(data_out), .read_en(read_en) ); initial begin clk_in = 0; clk_out = 0; write_en = 0; data_in = 8'b0; #10 write_en = 1; data_in = 8'b11001100; // 写入数据 #20 write_en = 1; data_in = 8'b10101010; // 写入数据 #30 write_en = 0; // 停止写入 #50 $finish; end always #5 clk_in = ~clk_in; // 输入时钟 always #10 clk_out = ~clk_out; // 输出时钟 endmodule
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务