gpt4 book ai didi

bit-manipulation - Verilog中的Pythonesque位切片?

转载 作者:行者123 更新时间:2023-12-01 02:29:28 24 4
gpt4 key购买 nike

在 Python 中,我可以像这样选择偶数或奇数位:

>>> bits = ['a','b','c','d'];
>>> bits[0::2]
['a', 'c']
>>> bits[1::2]
['b', 'd']

如果我可以在 Verilog 中执行此操作,那将非常实用,这样我就不必扩展表达式并手动执行此操作。扩展(即 {a[0], a[2]}{a[1], a[3]} ),它显然不适用于我的其他参数化线组。

最佳答案

Verilog 或 SystemVerilog 中没有机制可以像您提供的 Python 示例那样进行切片。也就是说,您不能在位之间指定步长为 2。

您可以使用 for 循环执行此操作,并且不需要像您自己的答案那样位于 generate 块中。

来自您的答案的修改示例:

always @(*) begin
for (int i = 0; i < FLOORS; i++) begin
RELEVANT[i] <= FLOOR_REQUEST[i*2+FORWARD];
end
end

只要 FLOORS,这应该合成就可以了是一个常数。

关于bit-manipulation - Verilog中的Pythonesque位切片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13998994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com