返回介绍

10.4.1 通过值传递

发布于 2020-09-09 22:55:48 字数 378 浏览 917 评论 0 收藏 0

通过值传递是向子例程传递参数的缺省机制,它也是Verilog-2001提供的唯一的参数传递机制。这种参数传递机制是通过将每一个参数拷贝到子例程区域的方式实现的。如果子例程是自动的,那么子例程在它的堆栈中保留一个参数的本地拷贝。如果参数在子例程中被改变,那么这种改变在子例程外是不可见得。当参数很大的时候,我们可能不希望拷贝这个参数。而且,有时程序需要与一个没有声明成全局的数据共享一个数据片。

例如,对下面函数的调用会在每次调用函数时拷贝1000个字节。

function int crc(byte packet[1000:1]);
    for(int j=1; j<=1000; j++) begin
        crc ^= packet[j];
    end
endfunction

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文