-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: Jakub Rakus <s...@o...pl>
Newsgroups: pl.misc.elektronika
Subject: VHDL - RAM obsługujący read-during-write
Date: Tue, 08 Jul 2014 21:07:54 +0200
Organization: ATMAN - ATM S.A.
Lines: 28
Message-ID: <lphfia$oic$1@node2.news.atman.pl>
NNTP-Posting-Host: staticline-31-183-74-163.toya.net.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1404846474 25164 31.183.74.163 (8 Jul 2014 19:07:54 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 8 Jul 2014 19:07:54 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101
Thunderbird/24.6.0
Xref: news-archive.icm.edu.pl pl.misc.elektronika:667502
[ ukryj 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
Następne wpisy z tego wątku
- 09.07.14 00:28 Adam Górski
- 09.07.14 00:39 Adam Górski
- 09.07.14 23:29 Jakub Rakus
Najnowsze wątki z tej grupy
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
- założyłem kamerę
- syrenki alarmów
- Czym obecnie programuje się EPROM-y?
Najnowsze wątki
- 2025-09-13 Korea Południowa odpowie za niewolnictwo seksualne armii USA
- 2025-09-13 Zatrzymano zabójcę Charliego Kirka
- 2025-09-13 Wrześniowe promocje na ładowarkach
- 2025-09-13 Warszawa => BI Developer <=
- 2025-09-13 Warszawa => Sales Assistant <=
- 2025-09-13 Warszawa => Lead SAP PP Consultant <=
- 2025-09-13 Jestem pod wrażeniem. Komputery bankowe w łikendy nie odpoczywają ;-)
- 2025-09-13 Lublin => Delphi Programmer <=
- 2025-09-13 Lublin => Programista Delphi <=
- 2025-09-13 SFP, 10G, simplex sc/apc
- 2025-09-13 KIA 2025r
- 2025-09-12 Rejestracja godna elektryka
- 2025-09-12 Koniec dopłat
- 2025-09-12 Odszkodowanie
- 2025-09-12 Warszawa => Senior SAP Consultant - PP area <=