- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
i use quartus ii for vhdl compile work, and met this error message: error 10346: formal port or parameter "write" must have a actual or default value
as the "write" is the port of a sram, i don't know why this port needs actual or default value.
please help me to debug this issue, thanks!
Ссылка скопирована
7 Ответы
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
usually this error happens when the component has a generic clause:
entity blablabla... generic( width := 8 ) -- default value port( ... Please, post the code better understanding of the error.- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
Thanks for your kindly reply.
But the "write" is a 1-bit port! this port doesn't have any parameter defination in the design! As the design shows bellow: component syncram generic (tech : integer := 0; abits : integer := 6; dbits : integer := 8; testen : integer := 0); port ( clk : in std_ulogic; address : in std_logic_vector((abits -1) downto 0); datain : in std_logic_vector((dbits -1) downto 0); dataout : out std_logic_vector((dbits -1) downto 0); enable : in std_ulogic; write : in std_ulogic; testin : in std_logic_vector(TESTIN_WIDTH-1 downto 0) := testin_none); end component;- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
When you instantiate the component. Did you connect that port to any signal?
In same line of code you have. toto_unit : syncram.... port map(.... write => some_signal, -- did you place this connection?- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
yes, they are some others signals need to be assign by the write.
For example: xwrite <= write; Does this cause the error?- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
The kind of error suggest that you omitted to connect the input "write" to the circuit. Can you post the code where u instantiated the component?
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
It sounds like you forgot to connect the write port. All ports of mode in must be connected to something, even if it is '0' or '1'. They cannot be left open.
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
--- Quote Start --- It sounds like you forgot to connect the write port. All ports of mode in must be connected to something, even if it is '0' or '1'. They cannot be left open. --- Quote End --- Problem solved, Thanks!

Ответить
Параметры темы
- Подписка на RSS-канал
- Отметить тему как новую
- Отметить тему как прочитанную
- Выполнить отслеживание данной Тема для текущего пользователя
- Закладка
- Подписаться
- Страница в формате печати