fpga学习日记12,Verilog基础模块之编码译码器

2013-8-27 10:20 628 0 分类: FPGA/CPLD 文集: 数电,FPGA学习

说明:代码均来自于网络

本文涉及8-3线编码器  7段译码器   3-8线译码器

130多个verilog源码文件 见本文附件 

100多个VHDL实例详解

http://download.csdn.net/download/zhufuni7/4170786

 更多实例可参考 

  http://www.cnblogs.com/kongtiao/tag/Verilog%20HDL/

http://www.fpga.com.cn/hdl/verilog_example.htm

http://www.pudn.com/search_db.asp?keyword=verilog&p=&pos=20&t=

8-3线编码器实现

12 `timescale 1 ns / 1 ps
13
14 module bm8_3 ( a ,b );
15
16 input [7:0] a ;
17 wire [7:0] a ;
18
19 output [2:0] b ;
20 reg  [2:0] b;
21 always @ ( a )
22     begin
23     case ( a )
24         8'b0000_0001 : b<=3'b000;
25         8'b0000_0010 : b<=3'b001;
26         8'b0000_0100 : b<=3'b010;
27         8'b0000_1000 : b<=3'b011;
28         8'b0001_0000 : b<=3'b100;
29         8'b0010_0000 : b<=3'b101;
30         8'b0100_0000 : b<=3'b110;
31         8'b1000_0000 : b<= 3'b111;
32         default : b<= 3'b000;
33     endcase
34     end
35        
36 // -- Enter your statements here -- //
37
38 endmodule 

 

 

 

 

 

 

7段LED译码器实现

 

verilog语言: Codee#27705
module bin27seg (data_in ,EN ,data_out );

input [3:0] data_in ;

input EN ;

output [6:0] data_out ;
reg [6:0] data_out ;


always @(data_in or EN )
begin
data_out = 7'b1111111;
if (EN == 1)
case (data_in )
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
4'b1010: data_out = 7'b0001000; // A
4'b1011: data_out = 7'b0000011; // b
4'b1100: data_out = 7'b0100111; // c
4'b1101: data_out = 7'b0100001; // d
4'b1110: data_out = 7'b0000110; // E
4'b1111: data_out = 7'b0001110; // F
default: data_out = 7'b1111111;
endcase
end

endmodule

 

3-8线译码器

 

verilog语言: VERILOG 3-8线译码器
`timescale 10ns/1ns

module decode3_8 (data_out,data_in,enable) ;

input [2:0] data_in;

input enable;

output [7:0] data_out;

reg [7:0] data_out;



always @(data_in or enable)

begin

      if (enable==1)

             case (data_in )

             3'b000: data_out=8'b11111110;

             3'b001: data_out=8'b11111101;

             3'b010: data_out=8'b11111011;

             3'b011: data_out=8'b11110111;

             3'b100: data_out=8'b11101111;

             3'b101: data_out=8'b11011111;

             3'b110: data_out=8'b10111111;

             3'b111: data_out=8'b01111111;

             default: data_out=8'bxxxxxxxx;

             endcase

      else

             data_out=8'b11111111;

end



endmodule

 

 

 

 

 

 

 

广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
liang890319_284707880 2016-03-22 11:41
[博客大赛]我在搞嵌入式 我有罪
  我在搞嵌入式 我有罪 做嵌入式也有几年了 刚学习的时候书上说嵌入式的定义是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计...
liang890319_284707880 2015-10-22 11:57
帕萨特迈腾蒙迪欧哪个好
氵灬清风灬说:太小了,没法穿了,懒得换了 junyao00022说:............................... jd272475byp说:宝贝收到啦,衣服质量非常不错,...
liang890319_284707880 2015-10-22 11:56
二手荣威550和二手起亚k2哪个好
二手荣威550和二手起亚k2哪个好   风之乞说:衣服挺好的,就是偏小,已经更换了 梦里水乡0609说:不错 很好  不了不错  赞 四灵之首说:衣服质量不错,韵达快递不行~ ...
liang890319_284707880 2015-10-22 11:55
澳大利亚深海鱼油哪个牌子好
hgjfhgj说:不错  价格便宜  款式不错  开始买中码小了一点  免费给换的  好店家 小杰c子说:非常合适。也很有气质 天佑945说:还可以,性价比高。。。。。。。。。。 Ab...
liang890319_284707880 2015-10-19 11:03
常用DDR sdram和Flash型号
  以下是代码片段: http://blog.csdn.net/myarrow/article/details/7854863   主要是三星 现代 ...
liang890319_284707880 2013-09-29 17:00
ROM FLASH RAM
EPROM、EEPROM、FLASH的总结性区别   http://xdc0363.blog.163.com/blog/static/11546200220...
我要评论
0
0
广告
关闭 热点推荐上一条 /1 下一条