集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2595|回复: 5

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

[复制链接]
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 [9:0]LED;
reg [9:0]LED;
reg [31:0] p;
reg [10:0]  t;

always @(posedge clk)
begin
     p<=p+1;
    if(p==20000000)
     begin
     t[10:1]<=t[9:0];
     t[0]<='b1;
     end
    if(p==25000000)
     begin
     t[10:1]<=t[9:0];
     t[0]<='b0;
     p<='b00000000000000000000000000000000;
     end
    if(t[10]==1)
     begin
     t<='b0000000000;
     end
LED<=t[9:0];
end  
endmodule
  LED  跳变亮
gllby 发表于 2010-6-24 12:04:52 | 显示全部楼层
没有主题,你这样会变得乱七八糟的啊
jony 发表于 2010-6-26 10:03:36 | 显示全部楼层
呵呵,小弟刚开始学verilog,弄一个昨天写好的,抛砖引玉
//一位数码管依次显示0~F
module reg1(clk,dout,dcom,beep);
input clk;    //输入时钟 50M
output[7:0] dcom;   //位选
output beep;            //关掉蜂鸣器,太吵了 _!!!
output[7:0] dout;   //段选输出
reg[7:0] dat;            //段选输出寄存器
reg[3:0] count;            //段选计数
reg[24:0] 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 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 14:14 , Processed in 0.071564 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表