微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求助如何判断verilog的parameter的值

求助如何判断verilog的parameter的值

时间:10-02 整理:3721RD 点击:
各位前辈,现在的项目中遇到了一个问题。
要求我做的模块在IC中例化多次,分别需要支持不同的指标A。
而这个指标A又能直接决定模块内的信号线宽和使用的RAM大小。
我的想法是将指标A定义为parameter,模块例化时将这个parameter赋不同的值,传到模块内部。
但是如何去判断parameter的值,进而将信号位宽define的宏赋不同的值呢?
或者有其他好的方法,请指教!



    可以通过parameter参数传递实现。

  1. test #(.A(your_define)) test_u0(...);

复制代码


    如果是特殊的运算关系,比如FIFO的深度为A, 读写指针位宽为log2A,那就增加一个常量B,值设定为log2A,同时传递A,B这两个常量。

你可以在你的代码内部定义参数, 然后在例化的时候使用强制赋值的方式



    那请问例化时的模块名能用parameter代替吗?RAM模块名里有宽度深度等信息,不同大小的RAM名字不一样,只想用一份代码,而且不让用define,所以希望例化RAM模块时,用的模块名也是个parameter。



    那请问例化时的模块名能用parameter代替吗?RAM模块名里有宽度深度等信息,不同大小的RAM名字不一样,只想用一份代码,而且不让用define,所以希望例化RAM模块时,用的模块名也是个parameter。

不知道小编的问题怎么解决的?求指教。

Dataout_W 根据Fs_Flag(外部输入) 的变化而变化,
parameter Dataout_W = Fs_Flag ? 7'D60 : 7'D50;如何修改?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top