verilog 学号输入并滚动显示

该博客介绍了数字显示系统的设计,包括时钟分频器、GPU单元、数码管显示模块及其优化。系统通过clkDiv模块产生不同频率的时钟,并在GPU中进行数据移位和存储。GPU的数据通过segMsgout模块转换为数码管显示,同时实现了按键输入功能。博客探讨了如何减少模块间的冗余,提高系统效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TOP module

module top(
	input clk100mhz,
	input clr,
	input s,
	input key1,
    input key2,
    input key3,
    input key4,
    input  [2:0]count1,
	output [3:0] pos1,
    output [3:0] pos2,
    output [7:0] seg1,
	output [7:0] seg2
	);
   wire [3:0]data;
	wire clk190hz, clk3hz;
	wire [15:0]dataBus1;
	wire [15:0]dataBus2;
	clkDiv U1(clk100mhz, clk190hz, clk3hz);
	GPU U2(.clk3hz(clk3hz), .clr(clr),.s(s),.n(data),.w(count1),.dataBus1(dataBus1),.dataBus2(dataBus2));
	segMsgout1 U3(clk190hz,dataBus1, pos1, seg1);//输入显示数码管
	segMsgout2 U4(clk190hz,dataBus2, pos2, seg2);//输出显示数码管
	Pushin U5(key1,key2,key3,key4,s,clr,count1,clk100mhz,data);
endmodule

clkDiv module

module clkDiv(
input clk100mhz,
output clk190hz,
output clk3hz
    );
    reg [25:0]count=0;
    assign clk190hz=count[18];
    assign clk3hz=count[25];
    always@(posedge clk100mhz)
     count<=count+1;
endmodule

GPU mo

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值