Skocz do zawartości

Co dokładnie oznacza "open" w klauzuli "port map" komponentu w VHDL


Pomocna odpowiedź

Napisano

Cześć,

pytanie jak w temacie? Np. w tym przykładzie, gdzie jest tworzona instancja Picoblaze:

Processor : kcpsm3
port map (	clk				=> clk,
			reset				=> not(reset),
			address			=> pico_address,
			instruction		=> pico_instruction,
			port_id			=> pico_portID,
			write_strobe	=> pico_writeStrobe,
			out_port			=> pico_outPort,
			read_strobe		=> open,
			in_port			=> pico_inPort,
			interrupt		=> Sig_INT_Request,	
			interrupt_ack	=> open);

Domyśleć się można, jednak jaka jest precyzyjna odpowiedź zawierająca wszystkie aspekty takiej definicji (i efekty uboczne)?

Pozdrawiam

Jest to po prostu VHDL-owskie słowo kluczowe oznaczające wolny port (niezajęte przez sygnał wewnętrzny) , dołączone do jednobitowego (typu std_logic) wyjścia mikroprocesora Microblaze o nazwie "read_strobe", którego zadaniem jest wskazywanie czy w danej chwili realizowany jest odczyt z mikroprocesora oraz do jednobitowego wyjścia (typ std_logic) mikroprocesora Microblaze o nazwie "interrupt_ack", które związane jest z przerwaniami wspomnianego mikroprocesora i zgodnie z dokumentacją przyjmuje wartość binarną:

- "00" w trakcie resetu mikroprocesora,
- "01", gdy MicroBlaze obsługuje przerwanie (tj. realizowany jest przewidziany dla danego przerwania kod)

- "10", gdy realizowany jest powrót z przerwania do trybu normalnego pracy mikroprocesora (przez instrukcję RTID),
- "11", gdy uaktywniane są ponownie przerwania (co sygnalizowane jest poprzez zmianę bitu MSR[iE] z logicznej wartości 0 na logiczną wartość 1)

Tyle 🙂

  • Pomogłeś! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...