gpt4 book ai didi

verilog - 宽度独立函数

转载 作者:行者123 更新时间:2023-12-02 10:08:42 27 4
gpt4 key购买 nike

是否可以写一个自动检测输入数据宽度的函数?例如,考虑下面的奇偶校验函数:

function parity;
input [31:0] data;
parity = ^ data;
endfunction

调用parity(data)时,输入数据应限制为32位。

或者,可以编写一个宏,例如`PARITY(data),其中系统函数$bits可以检测数据的宽度并确定宏的宽度-独立的。功能是否可以具有同样的灵 active ?

编辑:我需要我的代码是可综合的。

最佳答案

您可以创建参数化函数。请参阅 LRM 中的第 13.8 节。看起来该函数必须在类中声明,如下所示:

virtual class C #(parameter WIDTH=32);
static function parity (input [WIDTH-1:0] data);
parity=^data;
endfunction
endclass

然后,当您调用该函数时,使用 bits 任务对其进行参数化:

assign parity_bit = C#($bits(data))::parity(data);

EDA Playground 上的工作示例.

关于verilog - 宽度独立函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22696838/

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