大家不妨把正在做的或者已经做过的东西拿出来欣赏讨论一下哈
大家不妨把正在做的或者已经做过的东西拿出来欣赏、讨论一下哈,可以使一段verilog/VHDL代码,可以是一个小小的实现,可以为我们展示一个现象,
那都是我们努力创造的,不妨拿出来大家共同学习,共同讨论一下,
也让大家给你挑挑毛病,共同进步吗,让这成为一个相互交流进步的平台! 支持版主
让这成为一个相互交流进步的平台! module Test (clk,LED);
input clk;
output LED;
reg LED;
reg p;
reg t;
always @(posedge clk)
begin
p<=p+1;
if(p==20000000)
begin
t<=t;
t<='b1;
end
if(p==25000000)
begin
t<=t;
t<='b0;
p<='b00000000000000000000000000000000;
end
if(t==1)
begin
t<='b0000000000;
end
LED<=t;
end
endmodule
LED跳变亮 没有主题,你这样会变得乱七八糟的啊 呵呵,小弟刚开始学verilog,弄一个昨天写好的,抛砖引玉:lol
//一位数码管依次显示0~F
module reg1(clk,dout,dcom,beep);
input clk; //输入时钟 50M
output dcom; //位选
output beep; //关掉蜂鸣器,太吵了 _!!!
output dout; //段选输出
reg dat; //段选输出寄存器
reg count; //段选计数
reg cnt; //分频计数
reg flag;
assign dcom=8'b11111110; //位选,最后一位
assign beep=1; //关蜂鸣器,太吵了 _!!!
always @(posedge clk)
begin
cnt=cnt+'b1;
if(cnt==25'd2500000) //50ms
begin
flag=~flag;//取反
end
end
always @(posedge flag) //每次上升沿触发一次,//100ms
begin
count=count+1'b1;
case(count)
4'b0000: dat<=8'b11000000; //0 //dp~A从低到高
4'b0001: dat<=8'b11111001; //1
4'b0010: dat<=8'b10100100; //2
4'b0011: dat<=8'b10110000; //3
4'b0100: dat<=8'b10011001; //4
4'b0101: dat<=8'b10010010; //5
4'b0110: dat<=8'b10000010; //6
4'b0111: dat<=8'b11111000; //7
4'b1000: dat<=8'b10000000; //8
4'b1001: dat<=8'b10010000; //9
4'b1010: dat<=8'b10001000; //a
4'b1011: dat<=8'b10000011; //b
4'b1100: dat<=8'b11000110; //c
4'b1101: dat<=8'b10100001; //d
4'b1110: dat<=8'b10000110; //e
4'b1111: dat<=8'b10001110; //f
default: dat<=8'b11111111;
endcase
end
assign dout=dat;
endmodule 不错的想法
页:
[1]