【 FPGA 】抢占式优先级译码器电路

今天看用选择器实现总线设计的程序中(【 FPGA 】总线实现形式之选择器),选择器控制信号部分用到了抢占式优先级译码器,这里单独把这个抢先式优先级译码器抽出来讲讲看:

高位优先,下面是Verilog HDL代码:

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date:    11:49:31 11/05/2018 
// Design Name: 
// Module Name:    decoder 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//
module decoder(
    input in0,
    input in1,
    input in2,
    input in3,
    output [1:0] out
    );
	reg [1:0] out;
	always@(in0,in1,in2,in3)
	begin
	
		case({in0,in1,in2,in3})
			4'b0001: out = 2'b11;
			4'b0010 - 4'b0011: out = 2'b10;
			4'b0100 - 4'b0111: out = 2'b01;
			default: out = 2'b00;
		endcase
	
	end

endmodule

综合出来的电路,首先是RTL原理图:

不奇怪,我也能猜到是这些逻辑门实现的。

下面看看它们在FPGA中是如何实现的,看看Technology Schematic:

和我想的不一样的是,它是用查找表实现的,当然这是合理的,但是我一开始想的是FPGA中有大量的MUX,也就是多路选择器,应该会用MUX实现,但又一想,FPGA中也有大量的LUT呀, 人家综合成LUT再正常不过了。

 

这个小电路不过多解读,这种译码器是有优先级的,至于为什么,看看代码就知道了。

你希望那个输入优先,放到高位就可以了,(in0,in1,in2,in3等)随你排列。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李锐博恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值