scope - VHDL 中的信号用于 .. 生成范围
问题描述
linting 工具不喜欢下面的代码块,因为它认为在 for..generate 范围内声明的信号有多个驱动程序。直观地说,我希望对于每个信号声明,循环的每次迭代都会存在一个信号实例。
是 linter 坏了,还是 VHDL 语言坏了?
library IEEE;
use IEEE.std_logic_1164.all;
entity demo is
end demo;
architecture rtl of demo is
type i_arr_t is array(integer range <>) of integer;
signal results: i_arr_t(0 to 1);
signal dot : integer;
begin
g_gen : for ii in 0 to 1 generate
signal sig : integer;
begin
sig <= ii * 2;
results(ii) <= sig;
end generate;
dot <= results(0) + results(1);
end rtl;
错误信息:Non-resolved signal 'sig' has multiple drivers
解决方案
推荐阅读
- reactjs - React-Redux:不同显示模式的最佳实现
- python - 如何使用 Pandas 更改 Excel 单元格/行的背景颜色?
- r - 在 textAreaInput R Shiny 中输入多行
- excel - 如何有条件地格式化(颜色等)由 Excel 中的 COUNTIF 函数计数的单元格
- ios - SwiftUI 自定义模态视图过渡滞后
- javascript - 尝试将汉堡菜单图标固定在左侧,并且在汉堡菜单打开时不移动
- android - fragment recyclerview 出现此错误 E/RecyclerView: No adapter attach; 跳过布局
- java - 为什么我会收到“找不到合适的驱动程序”错误?
- reactjs - 在 li 标签内反应多个标签
- image - “无法上传大于 5mb 的图像” - 使用图像魔法将图像转换为 5mg 的最大尺寸