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 teststany 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