首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在for-generate块中推断变量名?

如何在for-generate块中推断变量名?
EN

Stack Overflow用户
提问于 2016-09-23 13:55:56
回答 1查看 48关注 0票数 2

在旧的VHDL设计中,组件有一个通用端口:

代码语言:javascript
复制
component adc_model is
generic(   RADC_TYPE : adc_type );
port( clk : std_logic;
....

之前的人已经命名了几十个常量:

代码语言:javascript
复制
constant CH0_RADC_TYPE   : adc_type     :=  I2C_ADC;
constant CH1_RADC_TYPE   : adc_type     :=  deltasigma_ADC;
constant CH2_RADC_TYPE   : adc_type     :=  SPI_ADC;
......

以便他可以实例化该组件多个单元。

但现在我想通过使用for-generate语句来实现:

代码语言:javascript
复制
for i in 0 to 7 generate
    begin
    i_adc_model: adc_model
    generic map(
    RADC_TYPE => CHX_RADC_TYPE(i),
....

现在我要做的是:

代码语言:javascript
复制
CHX_RADC_TYPE(00) <= CH0_RADC_TYPE;
CHX_RADC_TYPE(01) <= CH1_RADC_TYPE;
CHX_RADC_TYPE(02) <= CH2_RADC_TYPE;
     .............

我的问题是,有没有更聪明的方法来做这件事?

EN

回答 1

Stack Overflow用户

发布于 2016-09-23 14:46:07

由于泛型端口的值是一个常量,因此在声明常量时,为CHX_RADC_TYPE的不同元素(假设类型为adc_type_array的数组)赋值,如下所示:

代码语言:javascript
复制
constant CHX_RADC_TYPE : adc_type_array := (0 => CH0_RADC_TYPE,
                                            1 => CH1_RADC_TYPE,
                                            2 => CH2_RADC_TYPE,
                                            ...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39653517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档