-
Data: 2014-07-09 00:28:56
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?
>
Poczytaj o różnicach pomiędzy signal i variable.
Wprost mówiąc :
Jeżeli sygnały ( signal ) wewnątrz procesu mają przypisaną nową
"wartość" to jest ona "widziana" dopiero po restarcie procesu.
Jeżeli zmienne ( variable ) wewnątrz procesu mają przypisaną nową
"wartość" to jest ona "widziana" już w następnej "instrukcji" sekwencyjnej.
Tak proces "wykonuje" się sekwencyjnie ( zaraz mnie ktoś zamorduje ).
Pzdr
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
Następne wpisy z tego wątku
- 09.07.14 00:39 Adam Górski
- 09.07.14 23:29 Jakub Rakus
Najnowsze wątki z tej grupy
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
- rozklejanie obudowy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
- Laptop MSI się nie uruchamia.
- Dobra listwa LED (CRI 90-95, bez migotania)
- masowe programowanie AVR
- Fajny pomysł na monitor z klawiaturą
- Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
Najnowsze wątki
- 2024-11-02 piszę list do św Mikołaja
- 2024-11-01 karta SIM nie działa w konkretnym smartfonie.
- 2024-11-01 Mamy WZROST! O 50% wzrosła ilość kredytów gotówkowych
- 2024-11-01 Warszawa => Expert Recruiter 360 <=
- 2024-11-01 Warszawa => Technical Leader (Java Background) <=
- 2024-11-01 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-11-01 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-01 Warszawa => Programista Dynamics 365 CRM <=
- 2024-11-01 Warszawa => Dynamics 365 CRM Developer <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Chrzanów => Specjalista ds. PR Produktowego <=
- 2024-11-01 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-01 Łódź => Frontend Engineer (Three.js) <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Gdańsk => Programista Full Stack .Net <=