Цитата(zcost @ Aug 28 2007, 10:28)

Как объяснить синтезатору, что нужно массив выполнить на триггерах для Спартана-3.
Объявляю массивы:
subtype data_type is STD_LOGIC_VECTOR( 15 downto 0 );
type data_array_type is array( 0 to 7 ) of data_type;
signal mem_wr_8x16: data_array_type;
signal mem_rd_8x16: data_array_type;
Но ISE9.1 упорно пытается организовать массивы с помощью RAM,а хотелось бы это сделать на триггерах, память нужна для других целей.
Именно на триггерах? Или распределенная память тоже сойдет?
Если сойдет, то читайте доку по xst. У меня она находится в
<головная папка>\doc\usenglish\books\docs\xst\
Вас интересует атрибут RAM_STYLE
Насколько я понимаю, должно быть где-то так:
Код
subtype data_type is STD_LOGIC_VECTOR( 15 downto 0 );
type data_array_type is array( 0 to 7 ) of data_type;
signal mem_wr_8x16: data_array_type;
signal mem_rd_8x16: data_array_type;
attribute ram_style: string;
attribute ram_style of mem_wr_8x16: signal is “pipe_distributed”;
attribute ram_style of mem_rd_8x16: signal is “pipe_distributed”;
Можно ещё попробовать вместо “pipe_distributed” просто “distributed” но у мекня в доке есть фраза:
"Note: You can only specify the pipe_distributed value through VHDL/Verilog or XCF
constraints."
Поэтому, мне кажется - все таки первый вариант.
Ну и почитайте все таки доку. У меня ISE 8.1. Может уже чего изменилось в лучшую сторону?