Verilog 2选1选择器及其综合结果 基于vidado

Verilog 2选1选择器及其综合结果vivado

本篇文章是我本人的理解,我也还是在学习中,有不对的地方欢迎指出。

使用的工具为vivado,首先说一下 FPGA 内部的三大主要资源,分别为 (1)可编程IO资源、(2)布线资源、(3)可编程逻辑单元CLB,(注意:这是三大主要资源,还有别的资源,具体上网查找,有很多资料)。
其中,可编程逻辑单元CLB最丰富,由两个SLICE构成,SLICE有SLICEL(L:Logic)和SLICEM(M:Memory)之分,具体的就去网上找找吧,很多资料说明结构,我就不说了,SLICEL和SLICEM内部都包含4个6输入查找表(LUT6)、3个数据选择器(MUX)、1个进位链(Carry Chain)和8个触发器(Flip-Flop)。

下面上CLB单元的结构图如下:
在这里插入图片描述
注意:三个MUX的作用是为了组合4个LUT6的,这对于接下来的综合结果很重要
具体在vivado中的显示如图:
在这里插入图片描述
因为FPGA的大部分功能是基于查找表来实现的,所以选择器也是基于查找表来实现的,综合出来的结果是LUT,而不是MUX,MUX的作用是用来组合4个LUT的(目前知道是这个作用)
下面是一个2输入选择器,代码如下:

module multiplexer(
input  a,
input  b,

input  sel1,

output out1
);

assign out1 = sel1?a:b;

endmodule

综合出来的结果如图:
在这里插入图片描述
而不是下面这样的图(如果用原语可以综合成下面这张图),
在这里插入图片描述
下面来两个2选1选择器组合起来再看综合后的图:

module multiplexer(
input a,
input b,

input c,
input d,

input sel1,
input sel2,
input sel3,

output out3
);

wire out1;
wire out2;

assign out1 = sel1?a:b;
assign out2 = sel2?c:d;
assign out3 = sel3?out1:out2;

endmodule

在这里插入图片描述
所以,MUX单元是用来组合LUT单元的,当然,还有别的MUX单元的用法。

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值