zadanka VHDL

Tu piszemy wiadomość, jeżeli zadanie domowe sprawia kłopot
i szybko potrzebujemy pomocy w rozwiązaniu.
ODPOWIEDZ
p_kacper
-
Posty: 5
Rejestracja: 20 lis 2006, 10:59
Lokalizacja: Z Zarzecza

zadanka VHDL

Post autor: p_kacper » 17 lut 2009, 18:42

Witam,
jestem studentem automatyki i w tym roku mamy coś takiego ja Język VHDL. Programowałem kiedyś w C, teraz na bierząco mikroklocki- FPGA jednak za Chiny do mnie nie może przemówić (chyba mnie niejasne wykłady i ćwiczenia zupełnie zniechęciły).
Będę bezpośredni- z FPGA nie wiąże swojej przyszłości, w niedzielę mam egzamin (ostatnie podejście), wiem, że będą te same zadania lub bardzo podobne. Proszę więc kogoś "bieglejszego" o pomoc w rozwiązaniu. Dla kogoś kto się tym zajmuje jest to max 20 min. pracy (wnioskuję po tym, że egzamin trwa 60 min).
Z góry dziękuję za pomoc, oto zadanka (wklejam wszystko, jednak te typu "stan domyślny sygnału" czy inne podręcznikowe przykłady znajdę sam). Proszę też o krótki komentarz czemu tak, a nie inaczje):


1.Narysuj odpowiedź układu opisanego poniższym kodem. Czy kod ten jest syntezowalny? (krótko uzasadnij)

Kod: Zaznacz cały

entity kod41 is
port (a, b: in std_logic;
	x: out std_logic );
end kod41;

architecture test of kod41 is
 signal sk : std_logic_vector(3 downto 0);
 begin
	x <= sk(3);
		process (a, b)
	 	begin
	  		if a='1' 
				then sk <= '0000';
	  		else 
	   			if b'event then 
					sk <= sk (2 dowto 0) & b;
	  			end if;
			end if;
		end process;
end test
(trzeba narysowac x i sk-> zadane a i b:
stany początkowe=0, potem: a narasta,b narasta, a opada, b opada, potem trzy sygnały prostokątne na b)

2.Podaj typ danych i wartości zwracane przez atrybuty z poniższych wyrażeń (założenie: agr jest sygnałem typu std_ulogic)
a) std_logic'pos('0') = typ-
b) character'pos('0') = typ-
c)agr'event = typ-

3.Podaj wynik działania instrukcji założenia dla poniższych przypadków

assert (x1 xor x2)
report ''failure at: x1='' & boolean'image (x1) & '' x2='' & boolean'image (x2)
severity Error;

a) x1-true, x2=true;
…....................................................................................................................
b) x1-true, x2=false;
…....................................................................................................................

4.Jaką wartość przyjmują sygnały w chwili „zero” pracy symulatora? Podaj wartość domyślną sygnału w poniższym typie w przypadku braku inicjalizacji:
a) charakter - ......................
b) std_ulogic - ....................
c) bit - ….............................
d) natural - …......................
e) integer - …......................
f) boolean - ….....................
g) st_logic - …....................

5.Opisz strukturalnie funkcję fx(A, B, C)= B+C wykorzystując element Lut3 o znanym interfejsie (zakładamy, że I0 jest najmłodszym bitem).

component LUT3
generic (INIT : bit_vector := x'00');
port (o : out std_ulogic;
I0 : in std_ulogic;
I1 : in std_ulogic;
I2 : in std_ulogic);
end component;

6.Zbuduj synchroniczną jednostkę projektową realizującą w najprostszy sposób dzielenie słowa wejściowego przez 2. Wejście i wyjście układu typu std_logic_vector (można założyć dowolną szerokość wektora).

7.Opisz strukturalnie funkcję XNOR dla 3 zmiennych. Wykorzystaj LUT4 o znanym interfejsie (I0 – najmniej znaczący bit)

component LUT4
generic (INIT: bit_vector: = x”0000”;
port I0: out std_ulogic;
I0: in std_ulogic;
I1: in std_ulogic;
I2: in std_ulogic;
I3: in std_ulogic;
end component



AHA- PODAŁEM WSZYSTKIE PYTANIA- OCZYWIŚCIE TE NA NP. TYP CZY WARTOSCI POCZATKOWE SAM SOBIE ODPOWIEM WIEC DZIEKUJE ZA KOMENTARZE TYPU WSZYSTKO JEST W NECIE ;)

p.S. W załączniku ten exma w formacie .odt.

Edit: W listingach proszę używać znacznika CODE. Ddevil
Ostatnio zmieniony 17 lut 2009, 20:16 przez p_kacper, łącznie zmieniany 1 raz.

ODPOWIEDZ