eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaVHDL - RAM obsługujący read-during-writeRe: VHDL - RAM obsługujący read-during-write
  • Data: 2014-07-09 00:39:34
    Temat: Re: VHDL - RAM obsługujący read-during-write
    Od: Adam Górski <gorskiamalpa@wpkropkapl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2014-07-08 21:07, Jakub Rakus pisze:
    > 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?
    >

    Zapomniałem odpowiedzieć na twoje pytanie.
    Wykona się. Powiedziałbym że się zdarzy.
    Tyle że q będzie miała starą wartość.

    Dla uproszczenia wyobraź sobie że mamy tylko jedną komórkę tej pamięci.
    Jedno słowo 32 bitowe.
    Ram_block przyjmie nową wartość kiedy we ='1' ale PO zdarzeniu , którym
    jest narastające zbocze zegara.

    Kiedy występuje zbocze zegara ram_block ma ciągle starą wartość.
    I właśnie ta stara wartość zostanie zatrzaśnięta w q.

    Podobno dla programisty nie ma znaczenia w czym programuje, ale tu jest
    wyjątkowo pod górę bo są konstrukcje które nie mają sensy z punktu
    widzenia programisty.

    Adam

    ---
    Ta wiadomość e-mail jest wolna od wirusów i złośliwego oprogramowania, ponieważ
    ochrona avast! Antivirus jest aktywna.
    http://www.avast.com

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: