Перейти к содержанию
    

проблема в ISE 6.2

Вот решил использовать RAM64X1S как ПЗУ

 

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

 

library UNISIM;

use UNISIM.VComponents.all;

 

entity gc1 is

Port ( ........

........

 

);

end gc1;

 

architecture Behavioral of gc1 is

 

.............................................................

 

attribute INIT: string;

attribute INIT of RAM0 : label is X"00000002AAAAAAA9";

attribute INIT of RAM1 : label is X"0000000155555556";

attribute INIT of RAM2 : label is X"0000000000000003";

attribute INIT of RAM3 : label is X"00000002AAAAAAA8";

 

............................................................

 

begin

 

 

 

..........................................................

 

 

RAM0: RAM64X1S

port map

(D => '0',

WE => '0',

WCLK=> '0',

A0 => Q_CT(0),

A1 => Q_CT(1),

A2 => Q_CT(2),

A3 => Q_CT(3),

A4 => Q_CT(4),

A5 => Q_CT(5),

O => en1i);

 

 

................................

 

И Т.Д

 

сИНТЕЗ строки инизиализации разворачивает в

Analyzing Entity <GC1> (Architecture <behavioral>).

Set user-defined property "INIT = 0000000000000000000000000000001010101010101010101010101010101001" for instance

 

<RAM0> in unit <GC1>.

Set user-defined property "INIT = 0000000000000000000000000000000101010101010101010101010101010110" for instance

 

<RAM1> in unit <GC1>.

Set user-defined property "INIT = 0000000000000000000000000000000000000000000000000000000000000011" for instance

 

<RAM2> in unit <GC1>.

Set user-defined property "INIT = 0000000000000000000000000000001010101010101010101010101010101000" for instance

 

<RAM3> in unit <GC1>.

Entity <GC1> analyzed. Unit <GC1> generated.

 

и говорит что всё ОК.

Но когда я пытают делать Implement, то транслятор начинает ругаться

ERROR:NgdBuild:514 - The INIT value of

"0000000000000000000000000000001010101010101010101010101010101001", on the

RAM64X1S symbol "N1_RAM0", contains more data than is appropriate. For a

RAM64X1S symbol, the INIT value should not exceed 16 hexadecimal digit(s).

но оно понятно что ему надо в 16-ричном виде, но ведь я уже это указал?! :cranky:

Кт-нибудь может сказать что тут не так :unsure:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У-сё решилось,

INIT надо ставить черз generic map

 

например

RC1: ROM64X1

generic map (

INIT => X"0000000155555556")

port map (

O => en2i,

A0 => Q_CT(0),

A1 => Q_CT(1),

A2 => Q_CT(2),

A3 => Q_CT(3),

A4 => Q_CT(4),

A5 => Q_CT(5)

);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...