-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin1!goblin.stu.neva.ru!enother.net!peer02.iad.highwinds-media.com!
news.highwinds-media.com!feed-me.highwinds-media.com!nx01.iad01.newshosting.com
!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-0
1.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Date: Wed, 09 Jul 2014 00:28:56 +0200
From: Adam Górski <gorskiamalpa@wpkropkapl>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
Newsgroups: pl.misc.elektronika
Subject: Re: VHDL - RAM obsługujący read-during-write
References: <lphfia$oic$1@node2.news.atman.pl>
In-Reply-To: <lphfia$oic$1@node2.news.atman.pl>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Antivirus: avast! (VPS 140708-1, 2014-07-08), Outbound message
X-Antivirus-Status: Clean
Lines: 48
Message-ID: <53bc70a2$0$2156$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 89-78-2-59.dynamic.chello.pl
X-Trace: 1404858530 unt-rea-a-02.news.neostrada.pl 2156 89.78.2.59:2500
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 2662
X-Received-Body-CRC: 2274520790
Xref: news-archive.icm.edu.pl pl.misc.elektronika:667514
[ ukryj 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
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
Najnowsze wątki
- 2025-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=