如何使用SystemVerilog定义参数化的多路复用器

用户名

我正在尝试创建一个模块,根据一个热输入将x个输入数据包切换到一个输出包。

如果x的固定值为4,我将创建一个case语句,

case (onehot)
  4'b0001  : o_data = i_data[0];
  4'b0010  : o_data = i_data[1];
  4'b0100  : o_data = i_data[2];
  4'b1000  : o_data = i_data[3];
  default  : o_data = 'z;
endcase

但是对于变量x,我如何定义所有情况?

谢谢。

恩古特里
parameter X = 4;  

input [X-1:0] onehot;
input i_data [X];
output reg o_data;

always_comb 
begin
   o_data = 'z;
   for(int i = 0; i < X; i++) begin
      if (onehot == (1 << i))
         o_data = i_data[i];
   end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SystemVerilog通用多路复用器

来自分类Dev

使用Linux终端多路复用器的优势

来自分类Dev

如何在Linux内核设备树中定义时钟多路复用器

来自分类Dev

通道多路复用器

来自分类Dev

VHDL上的多路复用器

来自分类Dev

通用多路复用器警告

来自分类Dev

无法停止多路复用器

来自分类Dev

大猩猩多路复用器在测试期间返回空白的URL参数

来自分类Dev

MediaMuxer错误“无法停止多路复用器”

来自分类Dev

Apache Camel消息多路复用器集成模式

来自分类Dev

创建一个通用多路复用器

来自分类Dev

移位寄存器与多路复用器

来自分类Dev

多路复用器在CPU中做什么?

来自分类Dev

使用多路复用器会破坏来自ALSA的输入

来自分类Dev

使用Veriwave在Verilog中进行4位4:1多路复用器结构建模

来自分类Dev

多路复用器不处理第二个输入处理器

来自分类常见问题

java.lang.IllegalStateException:无法将轨道添加到多路复用器

来自分类常见问题

FFmpeg:段多路复用器不适用于AVC-MXF

来自分类Dev

无法连接到Redis服务器。创建断开的多路复用器

来自分类Dev

大猩猩多路复用器路由器处理程序

来自分类Dev

反转大猩猩/多路复用器中的子路由器

来自分类Dev

VHDL环形计数器多路复用器的数字电路方案

来自分类Dev

Verilog中具有for循环的大型多路复用器

来自分类Dev

VHDL中的多路复用器,具有结构设计

来自分类Dev

FFmpeg:段多路复用器不适用于AVC-MXF

来自分类Dev

删除终端多路复用器的垂直拆分条,腾出空间而不是隐藏它

来自分类Dev

端口多路复用器SSLH:为什么如此耗费资源?

来自分类Dev

从多路复用器中选择通道以在C编程中显示温度值

来自分类Dev

是否存在PCIe多路复用器/带宽分配器ASIC?

Related 相关文章

热门标签

归档