wyk_pytania.pdf

(117 KB) Pobierz
Przykładowe pytania z części PSPICE.
1. Podaj zasady tworzenia pliku symulacyjnego.
2. Czy składnia PSPICE jest czuła na wielkość liter?
3. Jak umieszcza się komentarze w pliku symulacyjnym PSPICE?
4. Jak definiuje się rezystor?
5. Jak definiuje się kondensator?
6. Jak definiuje się cewkę?
7. Jak definiuje się niezależne źródło napięciowe i prądowe?
8. Jak oznaczony jest globalny węzeł masy?
9. Co to są węzły „floating” i czy są dozwolone w symulowanym obwodzie?
10. Jakie przyrostki wartości można stosować w składni SPICE?
11. Jaka jest dopuszczalna składnia zapisu wartości?
12. Co to jest temperatura nominalna i bieżąca temperatura symulacji?
13. Jakie są zasady w definiowaniu modeli?
14. Jaki jest model rezystora?
15. Jaki jest model cewki?
16. Jaki jest model kondensatora?
17. Jakie są analizy podstawowe możliwe do wykonania w symulatorze PSPICE?
18. Co to jest analiza stałoprądowa?
19. Co to jest analiza częstotliwościowa?
20. Co to jest analiza czasowa?
21. Co to jest analiza Fouriera?
22. Co to jest analiza .OP?
23. Co to jest analiza .TF?
24. Co to jest analiza .SENS?
25. Co to jest analiza .NOISE?
26. Gdzie umieszczane są wyniki analiz wykonywanych w PSPICE?
27. Do czego służy polecenie .IC?
28. Do czego służy polecenie .NODESET?
29. Do czego służy polecenie .SAVEBIAS?
30. Do czego służy polecenie .LOADBIAS?
31. Jakie polecenia służą do operacji na plikach i jakie są skutki ich działania?
32. Jak powołuje się tranzystor bipolarny?
33. Jak powołuje się tranzystor MOS?
34. Jak powołuje się diodę?
35. Jak powołuje się napięciowe i prądowe źródła sterowane?
36. Jak deklaruje się i powołuje podukłady?
37. Jak można się odnieść do elementów, prądów i napięć w podukładach?
38. Do czego służy polecenie .PARAM?
39. Do czego służy polecenie .FUNC?
40. Podaj listę operatorów i funkcji predefiniowanych w PSPICE.
41. Do czego służy polecenie .STEP?
42. Do czego służy polecenie .TEMP?
Przykładowe p
ytania z języka Verilog. Jako odpowiedź należy podać czy dane zdanie stanowi prawdę (P) czy fałsz (F).
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
Identyfikator musi zaczynać się literą lub cyfrą.
Każdy system cyfrowy w Verilog’u jest reprezentowany poprzez moduł (module).
Każde wyprowadzenie modułu (port) musi być zadeklarowane poniżej listy portów (w standardzie ’95).
Identyfikatory „Bus” oraz „BUS” są w języku Verilog różnymi identyfikatorami.
Przypisanie ciągłe
assign
określa wartość wyjścia (lewego operanda) w zależności od wartości wejść i operacji
na nich.
Opis typu behawioralnego wykonywany jest wewnątrz bloków
always
oraz
initial.
Każdy moduł (module) może być wstawiony jako komponent wewnątrz innego modułu.
Możliwe jest wykonanie komentarzy obejmujących tylko jedną linię.
Każda sieć (net) może przyjąć jedną z następujących 4 wartości: ‘0’, ‘1’, ‘Z’, ‘X’.
Stan nieznany ‘X’ oraz wysokiej impedancji ‘Z’ ma takie samo znaczenie dla operacji logicznych.
Jeśli jeden z operandów operatora logicznego ma stan nieznany ‘X’ wówczas wynik również ma wartość
nieznaną ‘X’.
Sieci deklarowane są wyrażeniem
net.
Każdy sygnał musi być deklarowany indywidualnie.
Bit najbardziej na lewo wektora jest zawsze najbardziej znaczący.
Deklaracja portów modułu musi być zawsze pierwszym składnikiem wnętrza modułu (std. ’95).
Wszystkie porty są domyślnie sieciami.
Każdy port może być typu
reg.
Jeśli port wyjściowy jest typu
reg
wówczas odczyt jego wartości przez moduł nie jest możliwy.
Indeks najbardziej znaczącego bitu wektora może być mniejszy niż najmniej znaczącego.
Pierwszy port predefiniowanych bramek logicznych jest zawsze wejściem.
Predefiniowana bramka logiczna
and
może mieć dowolna liczbę wejść.
Kolejność wstawień poszczególnych bramek predefiniowanych nie ma znaczenia dla działania opisywanego
układu.
Wszystkie porty wstawianego komponentu (modułu) muszą być podłączone.
Możliwe jest łączenie portów wstawianych modułów poprzez uporządkowaną listę jak również poprzez nazwy
portów.
Wynikiem działania operatora relacyjnego jest wartość TRUE lub FALSE.
Operatory logiczne dają jako wynik zawsze jeden bit.
W operatorze przesuwania (<<) puste bity są zawsze uzupełniane ‘0’ lub ‘1’ w zależności od pierwszego bitu
wychodzącego.
Jeśli jeden z operandów jest równy ‘X’ wówczas wynik porównania przy użyciu operatora ‘= =’ też będzie
równy ‘X’.
Przypisania ciągłe (assign) mogą być stosowane tylko dla określania wartości sygnałów typu sieć (net).
Kolejność występowania przypisań ciągłych ma istotne znaczenie dla działania opisywanego systemu
cyfrowego.
Opóźnienia w Verilogu są podawane w nanosekundach.
Przypisanie warunkowe (?
:
) jest operatorem trójargumentowym.
Deklaracja sygnału jako typu
reg
daje po syntezie zawsze sygnał wyjściowy przerzutnika.
Deklaracja tablicy składa się z identyfikatora po którym występuje zakres tablicy.
Parameter
jest w Verilog’u odpowiednikiem stałej.
Wszystkie wyrażenia typu behawioralnego muszą znajdować się wewnątrz bloków
initial
lub
always.
Lewostronnym operandem przypisania wartości w bloku behawioralnym mogą być zarówno sieci jak i
rejestry.
Nie jest możliwy bezpośredni dostęp do pojedynczego bitu tablicy.
Każdy blok
initial
jest wykonywany jednokrotnie.
Argument wyrażenia
posedge
musi być zawarty w nawiasach np.
posedge(clk).
Przypisanie typu nonblocking (<=) umożliwia opis zdarzeń występujących współbieżnie.
Sygnały na liście zdarzeń są rozdzielone przecinkami (std. ’95).
Funkcja może zawierać opóźnienie, zadanie nie może.
Zadanie może mieć dowolną liczbę argumentów.
Blok
always
opisujący układ sekwencyjny musi mieć na liście zdarzeń wszystkie sygnały wejściowe układu
oraz sygnał zegarowy.
Wszystkie zadania systemowe mają identyfikator rozpoczynający się od znaku ‘$’.
Blok
always
opisujący układ kombinacyjny musi mieć na swojej liście zdarzeń umieszczone wszystkie
sygnały wejściowe (std. ’95).
48. Funkcje mogą mieć argumenty wyjściowe.
49. Testowany moduł jest zazwyczaj wstawiany jako komponent do modułu TEST BENCH.
Przykładowe p
ytania z języka VHDL. Jako odpowiedź należy podać czy dane zdanie stanowi prawdę (P) czy fałsz (F).
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
Deklaracja ENTITY może zawierać tylko nazwę bloku oraz jego wyprowadzenia WE/WY.
Opis na poziomie strukturalnym może być hierarchiczny.
Wejścia do bloku ENTITY nazywane są GENERIC a wyjścia PORT.
Jeden blok ENTITY może mieć wiele bloków ARCHITECTURE.
Każdy blok ENTITY musi mieć listę PORTÓw.
Aby używać zawartości pakietu STANDARD należy przed deklaracją ENTITY umieścić klauzule LIBRARY oraz USE.
System cyfrowy opisany w języku VHDL składa się z deklaracji ENTITY oraz ARCHITECTURE.
Jeden blok ARCHITECTURE może być przypisany do wielu bloków ENTITY.
Szyna danych o szerokości 8-miu bitów jest reprezentowana jako typ BYTE.
Sygnały które łączą system z otoczeniem nazywane są PORTami.
Szerokość szyny danych jest zdefiniowana w czasie deklaracji sygnału.
Kolejność bitów w szynie danych nie ma znaczenia.
Sygnały wewnętrzne systemu są deklarowane wewnątrz bloku ENTITY.
Lewy indeks w deklaracji szyny danych musi zawsze być większy niż prawy.
Każdy PORT musi być podany wraz z kierunkiem przesyłania sygnału.
Wszystkie sygnały są deklarowane w bloku ENTITY.
Nazwa bloku ENTITY może pojawić się za wyrażeniem END ENTITY;
PORT musi być albo trybu IN albo OUT.
GENERICs mogą być dynamicznie zmieniane w czasie symulacji kodu VHDL.
Komentarze zaczynają się i kończą dwoma myślnikami --.
PORTy są statycznymi połączeniami bloku ENTITY z otoczeniem.
GENERICs umożliwiają wprowadzenie stałych informacji do wnętrza bloku ENTITY.
VHDL jest językiem czułym na wielkość liter.
GENERICs mogą być użyte do specyfikacji PORTów np. ich długosci.
Żaden identyfikator nie może zawierać spacji.
Każdy GENERIC musi być zadeklarowany łącznie z jego trybem (kierunkiem).
PORTy są sygnałami.
Jest dozwolone podawanie wartości początkowej PORTu.
Wartość całego wektora musi być wpisana w podwójnym cudzysłowiu podczas gdy jego części w pojedynczym.
Znak przypisania wartości sygnału może być wpisany jako <= lub => w zależności od potrzeb projektanta.
Stałe mogą być używane w wyrażeniach.
Zestaw stanów maszyny stanów jest zazwyczaj deklarowany jako typ wyliczeniowy.
Elementy tablicy muszą być tego samego typu.
Stałej może być przypisana nowa wartość jeśli jest taka sama jak poprzednia.
Wartość TRUE jest ekwiwalentem wartości ‘1’.
Operatory są zawsze zdeklarowane dla danego typu wartości.
Operatory logiczne mogą być stosowane tylko dla pojedynczych bitów.
Ponieważ PROCESS jest nieskończoną pętlą więc wyrażenie WAIT umieszczone na początku lub końcu procesu daje
takie same wyniki.
Wykonywanie PROCESSu konczy się w momencie osiągnięcia wyrażenia END PROCESS.
PROCESS z listą czułości nie może zawierać wyrażenia WAIT.
Wartości sygnałów i zmiennych tego samego typu mogą być wzajemnie przypisywane.
PROCESS jest zestawem instrukcji sekwencyjnych.
Nazwa procesu może być zdeklarowana po słowie PROCESS.
Wyrażenie WAIT umieszczone w procesie specyfikuje warunek zawieszenia procesu.
Sygnały typu STD_LOGIC oraz STD_LOGIC_VECTOR są przemysłowym standardem sygnałów, do których mogą być
przypisane wielokrotne źródła sygnałów gdyż posiadają tzw. funkcję arbitrażową.
Sygnał w procesie ma tylko jeden DRIVER niezależnie jak wiele przypisań wartości do niego w procesie występuje.
Inaczej niż w przypadku innych składników języka VHDL, etykiety komponentów są obowiązkowe.
PORTY komponentów które nie są używane muszą być przypisane do wyrażenia OPEN i nie mogą być pominięte.
GENERICom podanym w czasie deklaracji komponentu mogą być przypisane różne wartości w różnych wstawieniach
tych komponentów.
Komponenty są połączone tylko poprzez sygnały zadeklarowane wewnątrz bloku ARCHITECTURE.
W przypadki mapowania pozycyjnego sygnały są podane w tej samej kolejności jak w deklaracji bloku ENTITY.
W przypadku mapowania poprzez nazwę używa się znaku <= lub => w zależności od trybu portu (tj. IN lub OUT).
Testowany blok ENTITY jest symulowany jako komponent wewnątrz Test_Bench.
Test_Bench ENTITY nie zawiera PORTów.
Generacja sygnałów testowych musi następować w bloku Test_Bench.
Test_Bench nie zawiera PORTów i deklaracja ENTITY tego bloku nie jest potrzebna.
Zgłoś jeśli naruszono regulamin