Układy programowalne cz.9, Układy programowalne PLD
[ Pobierz całość w formacie PDF ]
K U R S
Układy programowalne, część 9
W ostatnim odcinku cyklu przedstawimy jedno z
najwygodniejszych, pośród obecnie dostępnych, uniwersalnych
narzędzi do realizacji projektów w układach programowalnych:
pakiet Protel 99SE. Pakiet ten, podobnie do następcy -
Protela DXP - jest wyposażony w kompilator CUPL-a, który
współpracuje z systemowym edytorem schematów. Niewątpliwą
zaletą pakietów Protel jest możliwość realizacji całego projektu
urządzenia w jednym środowisku, bez konieczności oswajania się
z różnymi interfejsami użytkowników i odmiennymi filozofiami
obsługi programów.
Kompilator CUPL-a, w jaki wypo-
sażono Protele, jest minimalnie zmo-
dyfikowanym wcieleniem pierwszej
wersji CUPL-a dla Windows, jaka po-
wstała wiele lat temu w firmie Data
I/O. Firma Protel (później Altium) nie
przykładała się specjalnie do powięk-
szania jego walorów użytkowych, stąd
większość wad oryginalnego kompila-
tora (w tym przede wszystkim niezbyt
przejrzysta diagnostyka błędów) jest od-
czuwalna do dziś. Dodano jedynie kil-
ka prostych rozszerzeń funkcjonalnych
(jak na przykład kreator projektów),
poprawiono także współpracę kompi-
latora z edytorem przebiegów, który
ułatwia analizę wyników symulacji. Ze
względu na specyfikę środowiska pro-
telowskiego nieco inaczej niż miało to
miejsce w WinCUPL-u wygląda obsługa
kompilatora. Jemu właśnie poświęcamy
ten odcinek kursu.
Rys. 46
Rys. 47
wymaga wybrania w menu opcji
Fi-
le>New
. W wyświetlonym oknie
New
Design Database
należy podać docelo-
wą lokalizację pliku oraz nazwę pliku
(rozszerzenie
*.ddb
nie jest nadawane
automatycznie!). Plik wykorzystany w
przykładzie nosi nazwę
PLD_proj.ddb
i jest ulokowany w głównym katalogu
dysku C.
Kolejnym krokiem jest utworzenie
pliku zawierającego opis HDL w posta-
ci tekstowej (w języku CUPL) lub sche-
matu. Ponieważ w tej części artykułu
zajmiemy się przedstawieniem sposobu
realizacji projektu opisanego tekstowo,
mamy do wyboru dwie drogi:
- skorzystanie z kreatora projektu,
- utworzenie „pustego” pliku teksto-
wego, w którym trzeba będzie przygo-
tować cały opis HDL.
Ze względu na wygodę warto sko-
rzystać z interaktywnej pomocy kre-
atora. W tym celu w menu wybie-
ramy opcję
File>New...
, co powoduje
wyświetlenie okna
New Document
,
którego widok pokazano na
rys.
46
.
Wybieramy w tym oknie zakładkę
Wizards
, a w niej
PLD-CUPL Wizard
(
rys. 47
). Powoduje to zainicjowanie
pracy kreatora, którego jeden z kilku
możliwych wariantów przebiegu po-
kazano na
rys. 48
. Na rysunku tym
zaznaczono najistotniejsze z punktu
widzenia projektanta miejsca, w których
kreator „dopytuje” się o najważniej-
sze parametry realizowanego projektu.
List. 22. Szkielet opisu HDL wyge-
nerowany przez kreatora projektów
PLD z pakietu CUPL
Name PLDDesign ;
Partno na ;
Revision 1 ;
Date 2004-10-17 ;
Designer PZb ;
Company EP ;
Assembly na ;
Location na ;
Device G22V10LCC ;
Format JEDEC ;
/*********************************************
************************/
/* This PLD design (Revision 1) created on
2004-10-17 */
/* for Protel Interna-
tional */
/* and is stored as PLDDesign
*/
/*********************************************
************************/
/** Inputs **/
Pin 1 = Input_1 ;
Pin 2 = Input_2 ;
Pin 3 = Input_3 ;
Pin 4 = Input_4 ;
/** Outputs **/
Pin 5 = Output_5 ;
Pin 6 = Output_6 ;
Pin 7 = Output_7 ;
Pin 8 = Output_8 ;
Pin 9 = Output_9 ;
Pin 10 = Output_10;
Pin 11 = Output_11;
/** Declarations and Intermediate Variables
**/
/** Logic Equations **/
Czarownik Ci pomoże
Ogromnym ułatwieniem podczas
realizacji projektów w układach PLD,
zwłaszcza dla początkujących użyt-
kowników, jest wbudowany w Protela
99SE kreator projektów (
wizard
). Dzięki
niemu większość typowych problemów
program rozstrzyga interaktywnie z pro-
jektantem, zadając mu kolejno proste
pytania, których odpowiedzi pozwalają
uzyskać „szkielet” opisu HDL.
Jak wiadomo Protel 99SE przecho-
wuje wszystkie pliki wchodzące w
skład projektu w jednym pliku o roz-
szerzeniu
*.ddb
. Plik taki należy utwo-
rzyć dla każdego nowego projektu, co
Uniwersalne narzędzie
Protel 99SE umożliwia realizację projektów w układach PLD pochodzących
od różnych producentów. W sumie do dyspozycji projektantów jest ponad 200
różnych typów układów PLD, począwszy od pamięci PROM, aż po układy CPLD
i FPGA różnych producentów.
Elektronika Praktyczna 11/2004
91
K U R S
Rys. 48
Na skróty, ku wygodzie!
Układ wirtualny
Projektanci korzystający z CUPL-a
mogą realizować projekty na
układy wirtualne (virtual device),
które są pozbawione ograniczeń
charakterystycznych dla układów
rzeczywistych (jak choćby
liczba termów matrycy OR,
maksymalna liczba wejść bramek
AND w matrycy programowalnej,
przypisanie sygnałów globalnych
zegarowych itp.).
Standardowo Protel 99SE jest wyposażony w bibliotekę symboli służących do
projektowania układów PLD, wśród których są dostępne m.in. wygodne w stosowaniu
wybrane odpowiedniki funkcjonalne układów TTL.
W wyniku działania kreatora powstaje
plik tekstowy zawierający podstawowe
elementy opisu HDL - uzyskany przy-
kładowy szkielet opisu HDL pokazano
na
list. 22
.
Nieco inaczej wygląda inicjacja pro-
jektu, w którym zamiast tekstowego
opisu HDL użytkownik chciałby wy-
korzystać bardziej przyjazny opis sche-
matowy. Na
rys. 49
pokazano przebieg
ścieżki pracy kreatora projektu począw-
szy od chwili wybrania jako pliku pro-
jektowego schematu (punkt oznaczony
literą „A” na rys. 48). W zależności od
zamiarów, projektant może realizować
projekt na układzie wirtualnym, może
także wskazać rzeczywisty układ doce-
lowy. Kolejnym krokiem jest określenie
wykorzystywanych w projekcie linii
wejściowych i wyjściowych (muszą się
one znaleźć w okienku
Design Pins to
w przedostatnim etapie pracy kreatora,
pokazanym na rys. 49), co zaowocu-
je automatycznym wprowadzeniem na
planszę schematu odpowiednich sym-
boli. Można je oczywiście później mo-
dyfikować, ale warto (zwłaszcza przy
pierwszych projektach) poświęcić chwi-
lę na podanie tych parametrów - upro-
ści to dalsze prace nad projektem.
Na tym, w zasadzie, kończy się
praca kreatora projektu. Jej efektem
jest schemat elektryczny, na którym
Rys. 49
92
Elektronika Praktyczna 11/2004
K U R S
Rys. 50
Rys. 51
Kompilacja projektu
Kompilator wbudowany w Protela
99SE w większości przypadków nie
wymaga konfiguracji - domyślne nasta-
wy zazwyczaj umożliwiają poprawną
kompilację opisu HDL. Warto jednak
zdawać sobie sprawę z możliwości
zmodyfikowania parametrów syntezy lo-
gicznej, co w pewnych sytuacjach (na
przykład niewystarczającej liczby ter-
mów wejściowych makrokomórki) może
mieć decydujący wpływ na jakość im-
plementacji projektu.
Okno konfiguracji kompilatora jest
wyświetlane po wybraniu w menu
opcji
PLD>Configure
(
rys. 51
). Domyśl-
nie jest wyświetlana zakładka
Options
,
na której można ustalić typ docelowego
układu PLD (
Target Device
, ewentualnie
Use Virtual Device
), określić sposób
optymalizacji opisu HDL i kodowania
stanów automatów i wybrać algorytm
minimalizacji opisu (
Logic Minimiza-
tion
). W większości przypadków nie
ma jednak konieczności modyfikowania
ustawień dostępnych na tej zakładce.
Druga z zakładek okna
Configure PLD
Compiler
(
rys. 52
) służy do ustalenia
są umieszczone symbole wejść i wyjść
(zgodnie z opisem podanym przez
użytkownika) oraz symbole zasilania
(które jednak do niczego nie służą i
można jej usunąć z planszy).
podstawowych funktorów logicznych
(jak m.in. porty wejściowe, wyjściowe
i dwukierunkowe, bramki AND, OR,
NOR, NOT itp.) wiele „makrofunkcji”,
będących odpowiednikami układów)
TTL. Symbole te są oznaczane w na-
stępujący sposób:
X74_aaa,
gdzie
aaa
oznacza dwu- lub trzycy-
frowy symbol zaczerpnięty z oznaczenia
układu TTL. Przykładowo symbol X74_
42 odpowiada funkcjonalnie dekodero-
wi 7442, a symbol X74_151 odpowiada
funkcjonalnie multiplekserowi 74151.
Biblioteki PLD dla edytora schematów
Protel 99SE wyposażono w biblio-
tekę symboli (dla edytora schematów)
elementów logicznych przygotowanych
z myślą o realizacji projektów na ukła-
dach PLD. Biblioteka o nazwie
PLD
Symbols.lib
(
rys. 50
) jest przechowywa-
na w pliku
PLD.ddb
i zawiera, oprócz
Elektronika Praktyczna 11/2004
93
K U R S
Rys. 54
Rys. 53
dżera projektu będzie zaznaczony inny
plik, niż ten, który zawiera opis HDL!
Wynikiem pracy symulatora jest
między innymi plik
*.so
, który ma
postać tekstową (podobnie jak w Win-
CUPL-u i innych mutacjach CUPL-a),
ale w przypadku zainstalowania Prote-
la 99SE z serwerem
Waveform Display
,
wyniki symulacji są prezentowane w
postaci przebiegów (
rys. 55
). Należy
pamiętać, że prezentowana przez sy-
mulator skala czasu nie ma odzwier-
ciedlenia w rzeczywistości!
Warto wziąć także pod uwagę, że
pomimo deklarowanej przez producenta
możliwości edycji przebiegów ilustrują-
cych działanie układu (są one wyświe-
tlane przecież w systemowym edytorze
przebiegów), ich modyfikacja i popraw-
ne przechowywanie w pliku projektu
*.ddb
jest (a raczej bywa) możliwe
w wersjach z zainstalowanym
Servi-
ce Packiem 6
. Piszę „bywa”, ponieważ
Protel 99SE z SP6 po zainstalowaniu
na dwóch komputerach zachowuje się
- bez wyraźnej przyczyny - odmiennie.
Stąd zachęta do przyjęcia zasady, że
modyfikacje wektorów pobudzeń i od-
powiedzi należy przeprowadzać w pli-
ku
*.si
, a edytorowi przebiegów pozo-
stawić wyłącznie funkcję przeglądarki.
Piotr Zbysiński, EP
piotr.zbysinski@ep.com.pl
Symulacja i oś czasu
Symulator układów PLD wbudowany w Protela 99SE jest symulatorem
funkcjonalnym, nie ma więc możliwości zweryfikowaniawpływu parametrów
czasowych układów docelowych na ich działanie w fizycznymurządzeniu.
jakie pliki będą tworzone podczas pra-
cy kompilatora, za pomocą dostępnych
ustawień można także skonfigurować
zawartość pliku raportu z kompilacji.
W przypadku kompilowania schema-
tu zawierającego opis projektu można
uaktywnić automatyczny podgląd pliku
HDL (opcja
Schematic
,
View PLD File
),
który zawiera tekstowy opis schematu.
Po skonfigurowaniu kompilatora mo-
żemy podjąć próbę skompilowania pro-
jektu. W tym celu w menu wybieramy
opcje:
PLD>Compile
, co powoduje na-
tychmiastowe uruchomienie kompilato-
ra. W zależności od przebiegu kompila-
cji, wyświetlone okno zawiera informa-
cje o wykrytych błędach (
rys. 53a
) lub
o pomyślnym zakończeniu kompilacji
(
rys. 53b
).
Kolejnym krokiem realizacji projektu
jest jego symulacja. Protel 99SE wypo-
sażono w niezły symulator funkcjonal-
ny, za pomocą którego można wiary-
godnie zweryfikować uzyskane wyniki.
Symulacja projektu
Do symulacji projektu opisanego
w CUPL-u niezbędny jest plik
*.si
,
zawierający wektory pobudzeń oraz
(opcjonalnie) odpowiedzi. Jest to taki
sam plik jak w przypadku wszystkich
innych wersji CUPL-a. Nazwa pliku
*.si
musi być identyczna jak nazwa
projektu!
Do symulacji niezbędny jest jesz-
cze drugi plik - o rozszerzeniu
*.abs
- uzyskiwany podczas kompilacji (w
zakładce
Output Formats
okna
Confi-
gure PLD Compiler
należy zaznaczyć
opcję
Simulation
,
Absolute ABS
).
Te dwa pliki umożliwiają przepro-
wadzenie symulacji. Jej uruchomienie
wymaga wskazania w oknie menadże-
ra projektów pliku
*.pld
lub
*.sch
(w
zależności od przyjętego sposobu opi-
sania projektu) i wybrania w menu
opcji
PLD>Simulate
(
rys. 54
). Należy
pamiętać, że symulacja nie zostanie
przeprowadzona, jeżeli w oknie mena-
Rys. 55
Rys. 56
94
Elektronika Praktyczna 11/2004
[ Pobierz całość w formacie PDF ]
-
Menu
- Start
- Układy pracy generatorów stosowanych w elektrowniach wiatrowych(1), ELEKTROWNIE WIATROWE
- Układy ABS, Mechanika, ABS
- Uklady rownan, budownictwo studia, semestr IV, Metody numeryczne, WYKŁADY Metody Numeryczne 2014
- Uklady prostownicze, Mechatronika, Elektrotechnika, Elektrotechnika
- Układy bezpośredniego wtrysku i rozgrzewania świec z zespołem pompo-wtryskiwaczy [AJM, Volkswagen Golf IV Instrukcje napraw
- Układy bezpośredniego wtrysku rozgrzewania świec z zespołem pompo-wtryskiwaczy [AJM, Volkswagen Golf IV Instrukcje napraw
- Uklady równan liniowych, SZKOŁA, Matematyka, Matematyka
- Uklady zegarowe w systemie mikroprocesorowym, Elektronika, elektronika
- ukladyrownan, Politechnika Lubelska, Studia, Studia, matematyka1
- Układy kompensacji szeregowej zwiększają zdolność przesyłową linii najwyższych napięć, ARTYKUŁY - ELEKTRYKA, ARTYKUŁY 4
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- forum-gsm.xlx.pl