原创 FPGA_verilog入门学习

2011-2-13 10:33 1667 10 10 分类: FPGA/CPLD

本人FPGA学习的第一个程序:数字电路三八译码器(具有使能端EN)。

源代码:/*----------------------------------------------------------------------------------
-- Filename ﹕ decoder3_8.v
-- Author :songjun
-- Description ﹕3-8线译码器组合逻辑
-- Revision History ﹕11-1-21
-- Revision 1.0
-------------------------------------------------------------------------------------*/
module decoder3_8(out,in,en);
output[7:0] out;
input[2:0] in;
input en;
reg[7:0] out;
always@(in)
begin
 if(en)
 begin
  case(in)
  3'd0:out=8'b00000001;
  3'd1:out=8'b00000010;
  3'd2:out=8'b00000100;
  3'd3:out=8'b00001000;
  3'd4:out=8'b00010000;
  3'd5:out=8'b00100000;
  3'd6:out=8'b01000000;
  3'd7:out=8'b10000000;   
     endcase
 end
 else out=8'bzzzzzzzz;
end
endmodule

仿真图:   

 

图片

图1  具有芯片延时
       

图片

  图2  无芯片延时


学习FPGA的第二个程序(夏闻于老师那本书真是不错让我一下子豁然开朗)

带使能和复位的十进制计数器verilog源代码

/*----------------------------------------------------------------------------------
-- Filename ﹕ conter_10.v
-- Author :songjun
-- Description ﹕10 disables counter
-- Revision History ﹕11-1-26
-- Revision 1.0
-------------------------------------------------------------------------------------*/
module conter_10(clk,q,en,rst);
input clk,en,rst;
output [3:0] q;
reg [3:0] q;
always@(posedge clk)
begin
    if(en==1)
  if(rst==1)    //if and else must the same
   q<=4'b0000;
  else
   if(q<9)
    q<=q+1;
   else
    q<=4'b0000;
 else  
  q<=4'bzzzz;
end
endmodule

图片

 时序仿真图

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /2 下一条