[VHDL] ROM
: sobota 19 mar 2016, 12:06
Ostatni na czacie padł problem tworzenia ROM'u wraz z zawartością w VHDL'u, znalazłem taki sposób. Tworzymy nowy typ np. RomType
W pierwszym zakresie ( 0 to 19 ) deklarujemy ilość elementów macierzy, w drugim ( 7 downto 0 ) wielkość poszczególnych elementów.
Tworzymy i wypełniamy macierz tak:
A do poszczególnych elementów odwołujemy się tak:
Kod: Zaznacz cały
type RomType is array ( 0 to 19 ) of STD_LOGIC_VECTOR ( 7 downto 0 );
W pierwszym zakresie ( 0 to 19 ) deklarujemy ilość elementów macierzy, w drugim ( 7 downto 0 ) wielkość poszczególnych elementów.
Tworzymy i wypełniamy macierz tak:
Kod: Zaznacz cały
-- ilość elementów musi być taka jaką zadeklarowaliśmy.
constant ROM : RomType :=( "00000000", "00000001", "01010101", ... , "11111111" );
A do poszczególnych elementów odwołujemy się tak:
Kod: Zaznacz cały
signal Y: STD_LOGIC_VECTOR( 7 downto 0 );
signal addr : natural range 0 to 19 := 0;
...
Y <= ROM (addr);