欢迎光临散文网 会员登陆 & 注册

HDLBits (64) — 256至1多路复用器

2022-03-05 15:10 作者:僚机Wingplane  | 我要投稿

本题链接:

https://hdlbits.01xz.net/wiki/Mux256to1

创建一个位宽为1的256比1的多路复用器。这256个输入都被打包成一个256位的输入向量。当 sel = 0时,选择 in[0]当 sel = 1时,选择 in[1],以此类推。

预期解决方案长度:大约1行。

题目

提示:

  • 对于这么多选项,case 语句可能会未必有用。

  • 向量指针可以是可变的,只要给仿真器计算所选位的宽度是常量。使用向量指针选择向量的位将非常有用。

答案

当位宽大于 1 时,wire 或 reg 即可声明为向量的形式。Verilog 支持可变的向量域选择,可以指定某一位或若干相邻位,作为其他逻辑使用。

Verillog 还支持指定 bit 位后固定位宽的向量域选择访问。

  • [bit+: width] : 从起始 bit 位开始递增,位宽为 width。

  • [bit-: width] : 从起始 bit 位开始递减,位宽为 width。

对信号重新进行组合成新的向量时,需要借助大括号。

参考资料:

2.3 Verilog 数据类型 | 菜鸟教程:

https://www.runoob.com/w3cnote/verilog-data-type.html

HDLBits (64) — 256至1多路复用器的评论 (共 条)

分享到微博请遵守国家法律