eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaVHDL - RAM obsługujący read-during-writeVHDL - RAM obsługujący read-during-write
  • Data: 2014-07-08 21:07:54
    Temat: VHDL - RAM obsługujący read-during-write
    Od: Jakub Rakus <s...@o...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Przeglądając tutoriale na temat sposobów pisania kodu HDL tak, żeby
    syntetyzator maksymalnie wykorzystał specjalizowane bloki FPGA natknąłem
    się na prosty przykład pamięci RAM obsługującej operacje typu read
    during write:

    ARCHITECTURE rtl OF single_clock_ram IS
    TYPE MEM IS ARRAY(0 TO 31) OF STD_LOGIC_VECTOR(2 DOWNTO 0);
    SIGNAL ram_block: MEM;
    BEGIN
    PROCESS (clock)
    BEGIN
    IF (clock'event AND clock = '1') THEN
    IF (we = '1') THEN
    ram_block(write_address) <= data;
    END IF;
    q <= ram_block(read_address);
    -- VHDL semantics imply that q doesn't get data
    -- in this clock cycle
    END IF; END PROCESS; END rtl;

    Nie do końca rozumiem dlaczego niby to:
    q <= ram_block(read_address);
    ma się wykonać dopiero przy następnym wejściu w proces? Że niby jak jest
    spełniony IF we='1' to wszystko poza nim się nie wykona?

    --
    Pozdrawiam
    Jakub Rakus

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: