Цитата(Sefo @ Sep 10 2009, 00:28)

Я не специалист по Xilinx, но, видимо, на этот варнинг можно не обращать внимания ...
Да, в процессе синтеза и в par на это можно не обращать внимания, но при прошивке ПЛИС bitgen сообщает о предупреждении, что некоторые контакты примитива не подключены. А в таком случае, при прошивке ПЛИС, я не уверен, что с ней будет все в порядке. До этого прошивал ПЛИС и bitgen не выдавал никаких предупреждений. ПЛИС работала как и при моделировании.
Цитата(Sefo @ Sep 10 2009, 00:28)

В конце концов, можно самостоятельно вставить вместо ram_1024_x_18 что-нибудь более похожее на настоящую ROM-память.
1.ROM-память в Spartan-3 можно построить только на рассыпухе и каждый блок имеет только 16 бит памяти. Команды же для процессора имеют ширину 18 бит. У меня для процессора 311 команд, т.е. мне потребуется около 600 LUTов. Будут раскиданы по всей ПЛИС.
2.Машинный код для процессора компилируется отдельной программой, а исправляеть его каждый раз не хочется.
На BRAM постоянно подается сигнал чтения (EN = '0') и так как никакие данные записываться не будут, то синтезатор и убирает входные проводники. Из-за чего потом появляется предупреждение. Я не знаю какой аттрибут надо применить, чтобы синтезатор и map не трограли входные сигналы.
В cgd написано, что необходимо использовать аттрибут "keep". Но я не знаю как правильно его применить к такому коду
Код
begin
--
--Instantiate the Xilinx primitive for a block RAM
ram_1024_x_18: RAMB16_S18
port map( [b]DI => "1111111111111111",
DIP => "11",[/b]
EN => '1',
WE => '0',
SSR => '0',
CLK => clk,
ADDR => address,
DO => instruction(15 downto 0),
DOP => instruction(17 downto 16));
--