FPGA Verilog HDL 系列实例--------3-8译码器

Verilog HDL 之 3-8译码器

一、原理:

  译码是编码的逆过程,它的功能是将特定含义的二进制码进行辨别,并转换成控制信号,具有译码功能的逻辑电路成为译码器。
  译码器可分为两种类型,一种是将一系列代码转换成与之一一对应得有效信号。这种译码器可以称为唯一地址译码器,它常用于计算机中对存储器单元地址的译码,即将每一个地址代码换成一个有效信号,从而选中对应的单元。另一种是将一种代码转换成另一种代码,所以也称为代码变换器。

                  图1.1 3-8译码器真值表

二、实现

  在设计文件中输入Verilog代码。

复制代码
 1  `timescale 1 ns / 1 ps
 2 
 3 module decoder3_8 ( G1 ,Y ,G2 ,A ,G3 );
 4 
 5 input G1 ;
 6 wire G1 ;
 7 input G2 ;
 8 wire G2 ;
 9 input [2:0] A ;
10 wire [2:0] A ;
11 input G3 ;
12 wire G3 ;
13 
14 output [7:0] Y ;
15 reg [7:0] Y ;
16 reg s;
17 
18 always @ ( A ,G1, G2, G3)  
19     begin 
20         s <= G2 | G3 ;
21         if ( G1 == 0) 
22             Y <= 8'b1111_1111;
23         else if ( s)
24             Y <= 8'b1111_1111;     
25         else
26             case ( A )
27                 3'b000 : Y<= 8'b1111_1110;    
28                 3'b001 : Y<= 8'b1111_1101;    
29                 3'b010 : Y<= 8'b1111_1011;    
30                 3'b011 : Y<= 8'b1111_0111;     
31                 3'b100 : Y<= 8'b1110_1111;    
32                 3'b101 : Y<= 8'b1101_1111;    
33                 3'b110 : Y<= 8'b1011_1111;    
34                 3'b111 : Y<= 8'b0111_1111;    
35             endcase
36         end
37         
38 endmodule
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值