原创
fpga学习日记12,Verilog基础模块之编码译码器
说明:代码均来自于网络
本文涉及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译码器实现
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线译码器
`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条评论)
登录后参与讨论