Jak zaimplementować dwukierunkową bramę w VHDL dla 8-bitowego portu w CPLD?

Brama w VHDL





Poprzedni Następny
Wiadomość
Spis treści
From: "Maciej" <iksmada_at_nospam_friko4.onet.pl>
Subject: Brama w VHDL
Date: Mon, 1 Jul 2002 12:04:25 +0200


Witam!

Mam problem: jak opisać w VHDL bramę dwukierunkową. Dajmy na to, że mamy
układ CPLD, który ma realizować jeden 8-bitowy port wyjściowy i wejściowy:
D(7:0) - port dwukierunkowy, A(7:0) - port wyjściowy, B(7:0) - port
wejściowy, WR - sygnał zapisu, RD - sygnał odczytu. Jak wyglądałby listing?

Wielkie dzięki, pozdrawiam
Maciej



Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: Brama w VHDL
Date: Mon, 1 Jul 2002 13:48:43 +0200



"Maciej" <iksmada_at_nospam_friko4.onet.pl> wrote in message
news:afp9nq$jbv$1_at_nospam_news.onet.pl...
Witam!

Mam problem: jak opisać w VHDL bramę dwukierunkową. Dajmy na to, że
mamy
układ CPLD, który ma realizować jeden 8-bitowy port wyjściowy i wejściowy:
D(7:0) - port dwukierunkowy, A(7:0) - port wyjściowy, B(7:0) - port
wejściowy, WR - sygnał zapisu, RD - sygnał odczytu. Jak wyglądałby
listing?

Wielkie dzięki, pozdrawiam
Maciej

deklarujesz sobie

signal data_in :std_logic_vector(7 downto 0);
signal data out :jw ......

w entity deklarujesz data_io :inout std_logic_vector(7 downto 0);


i teraz tak

data_in <= data_io;
data_io <= data_out when rd_n='0' else "ZZZZZZZZ';

lub dla wr_n stawiasz proces gdzie zegarem jest narastajace zbocze wr_n
(wr_n'event and wr_n='1')

czaisz ?

Juliusz




Poprzedni Następny
Wiadomość
Spis treści
From: "Maciej" <iksmada_at_nospam_friko4.onet.pl>
Subject: Re: Brama w VHDL
Date: Mon, 1 Jul 2002 14:48:17 +0200


Wielkie dzięki. W moim toku myślenia brakowało świadomości, że jest coś
takiego jak 'Z'. "Znam" vhdl od mniej więcej 4 godzin i stąd takie banalne
problemy.

Pozdrawiam
Maciej


"Juliusz" <jul_at_nospam_fom.pl> wrote in message news:afpfc1$m8v$1_at_nospam_news.tpi.pl...

"Maciej" <iksmada_at_nospam_friko4.onet.pl> wrote in message
news:afp9nq$jbv$1_at_nospam_news.onet.pl...
Witam!

Mam problem: jak opisać w VHDL bramę dwukierunkową. Dajmy na to, że
mamy
układ CPLD, który ma realizować jeden 8-bitowy port wyjściowy i
wejściowy:
D(7:0) - port dwukierunkowy, A(7:0) - port wyjściowy, B(7:0) - port
wejściowy, WR - sygnał zapisu, RD - sygnał odczytu. Jak wyglądałby
listing?

Wielkie dzięki, pozdrawiam
Maciej

deklarujesz sobie

signal data_in :std_logic_vector(7 downto 0);
signal data out :jw ......

w entity deklarujesz data_io :inout std_logic_vector(7 downto 0);


i teraz tak

data_in <= data_io;
data_io <= data_out when rd_n='0' else "ZZZZZZZZ';

lub dla wr_n stawiasz proces gdzie zegarem jest narastajace zbocze wr_n
(wr_n'event and wr_n='1')

czaisz ?

Juliusz