原创 分频、计数、译码

2010-4-15 23:44 1404 0 分类: FPGA/CPLD

使用Verilog语言文本输入方式设计
【 FPGA 实验】
1:设计一个二分频器;
文本文件:


module half_clk(clk_in,clk_out);
input clk_in;
output clk_out;
reg clk_out;
always @(posedge clk_in)
  begin
    if(clk_in)  clk_out=~clk_out;
  end
endmodule



2:设计一个一位十进制计数器;
文本文件:


module  count10(out,reset,clk);
output[3:0]  out;
input  reset,clk;
reg[3:0]  out;
always @(posedge clk)
begin
if(out==9) out="-1";
if(reset) out<=0;   //同步复位
else    out<=out+1; //计数
 end
endmodule


3:设计一个七段数码管显示译码器;
文本文件:



module decode4_7(data_out,indec);
output[6:0] data_out;
input[3:0] indec;
reg[6:0] data_out;
always @(indec)
begin
case(indec) //用case 语句进行译码
4'b0000: data_out = 7'b1000000; // 0
4'b0001: data_out = 7'b1111001; // 1
4'b0010: data_out = 7'b0100100; // 2
4'b0011: data_out = 7'b0110000; // 3
4'b0100: data_out = 7'b0011001; // 4
4'b0101: data_out = 7'b0010010; // 5
4'b0110: data_out = 7'b0000011; // 6
4'b0111: data_out = 7'b1111000; // 7
4'b1000: data_out = 7'b0000000; // 8
4'b1001: data_out = 7'b0011000; // 9
default: data_out=7'bx;
endcase
end
endmodule

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
0
关闭 站长推荐上一条 /3 下一条