Цитата(Maverick @ Jul 14 2010, 19:13)

Интересует как это сделать с помощью HDL языка (желательно VHDL).
И существует ли она вообще начальная инициализация памяти FPGA фирмы Actel с помощью HDL языка?

PS
Отладочная плата. Программное обеспечение последней версии.
PS PS Для FPGA фирмы Xilinx делалось просто.
Давно в версии Libero 6.2 я делал следующим образом:
-- Version: 6.2 6.2.50.1
library ieee;
use ieee.std_logic_1164.all;
library proasic3;
entity ROMD512X8 is
port(DATAA : in std_logic_vector(7 downto 0);
ADDRESSA : in std_logic_vector(8 downto 0);
RWA : in std_logic;
BLKA : in std_logic;
QA : out std_logic_vector(7 downto 0);
DATAB : in std_logic_vector(7 downto 0);
ADDRESSB : in std_logic_vector(8 downto 0);
RWB : in std_logic;
BLKB : in std_logic;
QB : out std_logic_vector(7 downto 0);
CLOCK : in std_logic);
end ROMD512X8;
architecture DEF_ARCH of ROMD512X8 is
component RAM4K9
generic (MEMORYFILE:string := "");
port(ADDRA11, ADDRA10, ADDRA9, ADDRA8, ADDRA7, ADDRA6,
ADDRA5, ADDRA4, ADDRA3, ADDRA2, ADDRA1, ADDRA0,
ADDRB11, ADDRB10, ADDRB9, ADDRB8, ADDRB7, ADDRB6,
ADDRB5, ADDRB4, ADDRB3, ADDRB2, ADDRB1, ADDRB0,
DINA8, DINA7, DINA6, DINA5, DINA4, DINA3, DINA2, DINA1, DINA0,
DINB8, DINB7, DINB6, DINB5, DINB4, DINB3, DINB2, DINB1, DINB0,
WIDTHA0, WIDTHA1, WIDTHB0, WIDTHB1, PIPEA, PIPEB, WMODEA, WMODEB,
BLKA, BLKB, WENA, WENB, CLKA, CLKB, RESET : in std_logic := 'U';
DOUTA8, DOUTA7, DOUTA6, DOUTA5, DOUTA4, DOUTA3, DOUTA2, DOUTA1, DOUTA0,
DOUTB8, DOUTB7, DOUTB6, DOUTB5, DOUTB4, DOUTB3, DOUTB2, DOUTB1, DOUTB0 : out std_logic);
end component;
component VCC
port( Y : out std_logic);
end component;
component GND
port( Y : out std_logic);
end component;
signal VCC_1_net, GND_1_net : std_logic ;
begin
VCC_2_net : VCC port map(Y => VCC_1_net);
GND_2_net : GND port map(Y => GND_1_net);
ROMD512X8_R0C0 : RAM4K9
generic map(MEMORYFILE => "ROMD512X8_R0C0.mem")
port map(ADDRA11 => GND_1_net,
ADDRA10 => GND_1_net,
ADDRA9 => GND_1_net,
ADDRA8 => ADDRESSA(8),
ADDRA7 => ADDRESSA(7),
ADDRA6 => ADDRESSA(6),
ADDRA5 => ADDRESSA(5),
ADDRA4 => ADDRESSA(4),
ADDRA3 => ADDRESSA(3),
ADDRA2 => ADDRESSA(2),
ADDRA1 => ADDRESSA(1),
ADDRA0 => ADDRESSA(0),
ADDRB11 => GND_1_net,
ADDRB10 => GND_1_net,
ADDRB9 => GND_1_net,
ADDRB8 => ADDRESSB(8),
ADDRB7 => ADDRESSB(7),
ADDRB6 => ADDRESSB(6),
ADDRB5 => ADDRESSB(5),
ADDRB4 => ADDRESSB(4),
ADDRB3 => ADDRESSB(3),
ADDRB2 => ADDRESSB(2),
ADDRB1 => ADDRESSB(1),
ADDRB0 => ADDRESSB(0),
DINA8 => GND_1_net,
DINA7 => DATAA(7),
DINA6 => DATAA(6),
DINA5 => DATAA(5),
DINA4 => DATAA(4),
DINA3 => DATAA(3),
DINA2 => DATAA(2),
DINA1 => DATAA(1),
DINA0 => DATAA(0),
DINB8 => GND_1_net,
DINB7 => DATAB(7),
DINB6 => DATAB(6),
DINB5 => DATAB(5),
DINB4 => DATAB(4),
DINB3 => DATAB(3),
DINB2 => DATAB(2),
DINB1 => DATAB(1),
DINB0 => DATAB(0),
WIDTHA0 => VCC_1_net,
WIDTHA1 => VCC_1_net,
WIDTHB0 => VCC_1_net,
WIDTHB1 => VCC_1_net,
PIPEA => GND_1_net,
PIPEB => GND_1_net,
WMODEA => GND_1_net,
WMODEB => GND_1_net,
BLKA => BLKA,
BLKB => BLKB,
WENA => RWA,
WENB => RWB,
CLKA => CLOCK,
CLKB => CLOCK,
RESET => VCC_1_net,
DOUTA8 => OPEN ,
DOUTA7 => QA(7),
DOUTA6 => QA(6),
DOUTA5 => QA(5),
DOUTA4 => QA(4),
DOUTA3 => QA(3),
DOUTA2 => QA(2),
DOUTA1 => QA(1),
DOUTA0 => QA(0),
DOUTB8 => OPEN ,
DOUTB7 => QB(7),
DOUTB6 => QB(6),
DOUTB5 => QB(5),
DOUTB4 => QB(4),
DOUTB3 => QB(3),
DOUTB2 => QB(2),
DOUTB1 => QB(1),
DOUTB0 => QB(0));
end DEF_ARCH;
Файл ROMD512X8_R0C0.mem
X00000000
X00000011
X00000110
X00001001
X00001101
X00010000
X00010011
X00010110
X00011001
и т.д. 512 раз