generics - 在VHDL中,通用映射分配的RHS指的是什么?
问题描述
根据我对 VHDL 的理解,端口映射声明将是:
signal reset_n : std_logic;
...
port map (
...
reset_n => reset_n
);
...其中端口映射分配的 LHS 是组件上的端口名称,而 RHS 是您在上面声明的信号。
但是对于通用地图,RHS 指的是什么?
...
generic map (
...
baud_rate => baud_rate
);
LHS 是实体中的通用字段,由 RHS 指定的任何内容写入(对吗?),将值传递到通用的 VHDL 方式。但是,如果 RHS 没有被声明为信号,那么分配/连接到 LHS 的是什么?引擎盖下发生了什么?
解决方案
起初,LHS 被称为正式的,而 RHS 被称为实际的。
形式是指您在实体中声明的常量。
entity foo is
generic (
constant baud_rate : T_BAUD
);
end entity;
实际值在通用映射中与正式的. 在您的情况下,实际是一个常数,您可以关联:
- 来自更高层的另一个通用常量
- 在架构声明区域中声明的常量或在包中声明的全局常量
- 一个表达式,包括一个文字。
例子:
entity e is
generic (
baudrate : T_BAUD
);
end entity;
architecture a of e is
constant BR : T_BAUD := 100 kBd;
begin
inst1: entity work.foo
generic map (
baud_rate => baudrate
);
inst2: entity work.foo
generic map (
baud_rate => BR
);
inst3: entity work.foo
generic map (
baud_rate => 115.2 KBd
);
end architecture;
推荐阅读
- firebase - 了解 Firestore 中何时发生事件以进行计费
- json - 在颤动中按数字顺序对JSON进行排序
- python - 如何将数据类中的字段类型注释为与其__init__的类型不同?
- java - 在不影响主数组的情况下对临时数组进行排序
- c# - 为什么枚举一个空数组不会在堆上分配?
- python - 如何实时增加或减少声音的音量(pydub)?
- ios - 反应本机 ios “本机模块不能为空”
- list-comprehension - 在 manim ReplacementTransform 动画中使用 *args
- python - Sparkessions Pyspark 的最佳实践
- android - 在 ConstraintLayout 中放置自定义视图