xinu2009 发表于 2010-5-6 10:46:55

大家不妨把正在做的或者已经做过的东西拿出来欣赏讨论一下哈

大家不妨把正在做的或者已经做过的东西拿出来欣赏、讨论一下哈,
可以使一段verilog/VHDL代码,可以是一个小小的实现,可以为我们展示一个现象,
那都是我们努力创造的,不妨拿出来大家共同学习,共同讨论一下,
也让大家给你挑挑毛病,共同进步吗,让这成为一个相互交流进步的平台!

ccs 发表于 2010-5-6 13:29:26

支持版主
让这成为一个相互交流进步的平台!

w_m 发表于 2010-6-13 20:14:52

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跳变亮

gllby 发表于 2010-6-24 12:04:52

没有主题,你这样会变得乱七八糟的啊

jony 发表于 2010-6-26 10:03:36

呵呵,小弟刚开始学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

Sunlife 发表于 2015-6-24 10:40:05

             不错的想法
页: [1]
查看完整版本: 大家不妨把正在做的或者已经做过的东西拿出来欣赏讨论一下哈