WinCUPL Damian Górski Korekta : Wojciech Zaborowski Kraków dnia

Podobne dokumenty
ĆWICZENIE 4 Zapoznanie ze środowiskiem CUPL Realizacja układów kombinacyjnych na układach PLD

Technika Cyfrowa 2 wykład 1: programowalne struktury logiczne - wprowadzenie

Układy programowalne, część 5

i pakietu programowego PALASM 4

Środowisko WinCUPL instrukcja laboratoryjna. dr inż. Jarosław Sugier

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

Technika Cyfrowa 2. Wykład 1: Programowalne układy logiczne

Wygląd okna aplikacji Project Navigator.

Elektronika i techniki mikroprocesorowe

Obudowy układów scalonych

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

Systemy wbudowane. Układy programowalne

Krótkie przypomnienie

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017

Ukªady Kombinacyjne - cz ± I

Cyfrowe układy scalone

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Układy programowalne. Wykład z ptc część 5

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

Cyfrowe układy scalone

Quartus. Rafał Walkowiak IIn PP Wer

Projektowanie automatów z użyciem VHDL

Elementy cyfrowe i układy logiczne

Podstawy Informatyki Elementarne podzespoły komputera

Rodzaje układów programowalnych

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Komputerowe systemy wspomagania projektowania układów cyfrowych

Mikrokontrolery i Mikrosystemy

Materiały pomocnicze do ćwiczeń laboratoryjnych. Projektowanie układów cyfrowych przy użyciu PLD i pakietu programowego PALASM 4

Programowalne układy logiczne Wydziałowy Zakład Nanometrologii SEMESTR LETNI

MentorGraphics ModelSim

Projektowanie z użyciem procesora programowego Nios II

Układy programowalne. Wykład z ptc część 5

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Sterowniki Programowalne (SP)

Architektura komputerów

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Logika rozmyta typu 2

Bezpieczeństwo informacji oparte o kryptografię kwantową

Quartus. Rafał Walkowiak IIn PP Listopad 2017

Laboratorium Podstaw Techniki Cyfrowej

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)

5. PROGRAMOWALNE UKŁADY LOGICZNE

Programowalne układy logiczne

MIKROELEKTRONIKA [gr.], dział. elektroniki zajmujący się działaniem, konstrukcją Fifth i technologią Level układów scalonych.

Układy cyfrowe i operacje logiczne

Ćwiczenia 2 IBM DB2 Data Studio

MMfpga01. MMfpga11. Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu

INSTALACJA modemu Trimble TDL3G

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Układy reprogramowalne i SoC Implementacja w układach FPGA

Programowalne układy logiczne

Projektowania Układów Elektronicznych CAD Laboratorium

Maszyna stanu State Machine

Tranzystor JFET i MOSFET zas. działania

Wykład Mikrosystemy Elektroniczne 1

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

Wprowadzenie do psql i SQL. Język komend psql. Podstawy instrukcji SELECT

Cyfrowe układy scalone

BeoSound 4. Uzupełnienie

Przerzutniki RS i JK-MS lab. 04 Układy sekwencyjne cz. 1

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

Scalone układy programowalne FPGA.

Projektowanie Urządzeń Cyfrowych

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak

Technika Cyfrowa 2 wykład 4: FPGA odsłona druga technologie i rodziny układów logicznych

Nazwa pochodzi od imienia znanego logika Haskell a Brooks a Curry ego ( )

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Właściwości i metody obiektu Comment Właściwości

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

Część 2. Funkcje logiczne układy kombinacyjne

Podstawy programowania w środowisku Totally Integration Automation Portal

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Układy logiczne układy cyfrowe

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503)

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Proste układy sekwencyjne

1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench)

Transkrypt:

WinCUPL Damian Górski Korekta : Wojciech Zaborowski Kraków dnia 16.06.2004

1 1.1 Co to jest programowalna logika (ang. programmable logic PL) Logika programowalna, jak sama nazwa mówi jest to rodzina komponentów! " #$%&'(&)$*+(,&-#,./& 0-) 0-'1&! 2324! 4! & 2 562 2!7! "!5programmable logic devices -%1#8).&09#&-#&('&#-&9#- -%5 1.1.1 ASIC (ang. Application Specific Integrated Circuits): 8 4 : 4 7 5 #8). 7 ;2 7 2 ;! 3 4!& 4& 5< 2 :2 4!7 2! 72"!5mask 7! 15. 4! 274!5 8 7 7&! :3 :34! 5=! ;&.-&7 2 -&!2735 1.1.2 user programmable device UPD) 72 % 72 2 74! & 7!3 2 75'! 2 3& 2 2 #$% '( 7 7 4! 5 < ; 72 7 2&! 3 7 : : 5 27 makrocele (ang. macrocells). 7 24! 7 :3 :3& 2 potrzebne do projektu. 2

1.1.3 PROM (ang. Programmable Read Only Memories) & 27!!&2 :PROM 22 #$%& 2 7! '(5 < 2 : ('> 2 2 :3 4 :&7577:2725 3

4

1.1.4 PAL (ang. Programmable Array Logic) < 2 2 7! #$%& do ustalonych (ang. fixed) '(5 < 2 2 :! 3 zandowane & : #$%27 7 : '(5#- 77 2 77 2 PLD. 6 72 & #-5 =! 3 7! :& :& ::5 = 72 2 :&! 3" 1 7 7 72 pinami )?'5 2 7! 72 7 2&! 7 2 & :7 2 5 2! 2 27 wiele funkcji logicznych w technologii TTL. 1.1.5 GAL (ang. Generic Array Logic devices) 8 7& 3 72 #- > 77 5 6 7&! 72 #- >& 224!3 29#->& 7 #->5, :3 ;&2 3 2& 2! & 7 3 2! 75=:39#-32& 7 w projektowaniu. 5

1.1.6 PLA (ang. Programmable Logic Arrays), 727! #$%&)'(&7 jakiemukolwiek #$% 2 3 '(5-#772 2 :3 7: 7 2 ;& 7 2 4 :3! 5= 27 '( #$%& 23 7 2! 25 <2 :3 2 7 2 2 & producenci stworzyli PLA nazywany 2& 2 27 rejestrów z tablicy elementów OR do AND. 1.1.7 8 #- >& -#5 2 7 7 #-& : 2 :#$%&! ustalonego '(562 7 7 22termów, lub wykorzystanie 2 "!5expander 15 7 7!75 6

1.1.8 FPGA (ang. Field Programmable Gate Arrays) $7:& 2 7! & 72 7!5.2!2:3&2!& 4 7 :3 :3& 2 2 7 ;& :2 7 2 @ A5 $ 2! 4 : 7 #$%'5 =2!& 4! zegarów logicznych (.-21 7:; )?'")'215B!.- 7!! 2 7 5 8! 22 7 3 4 22! :5B )'.37! : : trójstanowe lub 7 5 2 2 4 74 7&! 3 2 4 :3 :35 =2 2 23 7 ;! 7 7 2 7.-5! 7 7 : : IOBs z blokami.-5-! 7! 7 2 : 73 2 2! 75 2 09#! 43 4! 773 7 5 709#!3747!! 7:37 2 4! 5 1.2! " 1.2.1! "# % 27! 2 5.'8"!5 Complimentary Metal Oxide 81&7,,-&GaAs (oparte o Arsenek Galu), oraz ECL (ang. Emiter Coupled -!1&75BiCMOS czy +.-?7 5%2 2!2+.- GaAs, jednak : 2 7!5'! 2 :3 2:: 7!75 1.2.2 "#! 7!! 2 7!! 2 4! 4 5. :3 2 2 & 5 3 7! 5 2 2 77 2 7*77 7 7!7:327 7 7!7 ;5 2 7*! 2 5 & 23 22 2 ', "!5 ' Time Programmable). Najnowsze!222!75 7

7! 2 7 2 5 < 2 :32 2 4!%)"!5Dual Inline Package), SKINNY-DIP, LCC (ang. Leaded Chip Carrier), PLCC (and. Plastik Leaded Chip Carrier), QFP (ang. Ruad Flat Pack), BGA (ang. Ball Grid Array), SOIC (ang. Small Outline I.C.), TSOP (ang. Thin Small Outline), oraz PGA (ang. Pin Grid #15! 3 72 pinami umieszczonymi po dwóch stronach, kwadratowe z 7 2& 77 2562 27!7!! 7!&2!3 2 :3 7 & 23 2727 5 1.3 $ %! 7! 2 7! 77 7 ; & 77! :?:5< 2 :37! 7 2 :4#8.)534 6+%+. -%&/+C 7('5 2 2!4 7! 7!!!5 7 6+%+. 272 7 ; & 7 7 2 2 @DA@EA72! :37 &! 5 3 7 4! 7 7 7 7!24 :75 1.4!&%'(,2 4 : 23 7 7 7 7zednim zaprogramowaniu &7&27 7!742!3! 225< 222 27 :!! 2!& 2 7 :5 2 77 2 27 2 7: 27:& 47 5 7!:!7 7 4 77:4!75 8

2 %%)$ 2 7 2 223 @!A (ang. 71& & 3!! 2 7& 7 7 23 2 2!& 4 5.- 72 ; 27! 2 7!5, 7 2 72 2 2&.-4727 75 2.1 %(% 872 &.-5 2.1.1 Definicja Pin / Node 4 )$ > 2 23 7 7!& 4 2 2 7 2! 75 < 7& 4 2 7 & 7 23 7 7!5 7277 23& 7 &! 3& 3 7 73 &77 72 piny, w takim wypadku miejsce, które normalnie zawiera numery 773 2725 2.1.2 &%' = 7:& & 2 & 2 7 727? 58 7 &3 :3 projektu 2.1.3 $ =& ; 2 2 E FG 2 25! 3 7!7 2 ponumerowanych rzeczy. 2.1.4 $**%# Tabela 2.1 Liczba Baza < :3 2 b 0 Binarna 0 B 1101 Binarna 13 O 663 Ósemkowa 435 D 92 % 2 92 h BA Szesnastkowa 186 O [300..477] Ósemkowa (zakres) 192-314 H 7FXX Szesnastkowa (zakres) 32512..32767 9

<2 2 7.- > 2 FG :&!7!7 3:EG 32 D5-! 3 H72 22 &2& 2 2 225%: 2 2 22 22"2 numery 7 2& 2 2 21 2.1.5 $%%# 62 4!7 5 62 72 7 7" 15$22! 7 :5 FIELD ADDRESS = [A7, A6, A5, A4, A3, A2, A1, A0]; FIELD DATA = [D7..D0]; FIELD Mode = [Up, Down, Hold]; 2.1.6 $(*# % 7!7 727!75 7 72"7 72!0)+-%1 3I 727 2 2!75 9 2 2 0)+-%& 7! 7 FG & 2 7 7 " 7! 7 15 8 2! 4 manipulowania adresami i zakresami szyn danych. 2.2 $%#, 2 72! 7& 4 7 ; 25 2.2.1 $ (# <.-272 27! #$%&'(&$', C'(5 $27 7 2 7 : wykonywania (ang. 7>2!2!15 Tabela 2.2 Operatory logiczne Operator Opis B :3!!A NOT 1 & A & B AND 2 # A # B OR 3 $ A $ B EXOR 4 10

2.2.2 $ ( &%# 8 :3 2 7 2 27 & 777 72 7 27& : ich wykonywania. Tabela 2.3 Operatory arytmetyczne Operator Opis B :3 ** 2**3! 1 * 2*1 2 / 4/2 Dzielenie 2 % 9%8 Modulo 2 + 2+4 Dodawanie 3-2-1 Odejmowanie 3 2.2.3 $ "# ( 2! 23 &2 3274 4 7! 7! 5 B7 27 2 &2 3& 277!!24 2 5.- 2 ;&24!3 5B7 2 2 ;.- 23 7 @.- -%?09# Language.7 A5 7 2 2 :22 Tabela 2.4 Rozszerzenia zmiennych Rozszerzenie 2 Opis.AP L < :2!27.AR L < :2! 7.CE L < :.+.CK L!:!7.CKMUX L Wybór multipleksowanego zegara.d L < :%7.DFB R < : 7 %makroceli.dq R < :J7 %.INT R =2!!:2!.IO R =2! :!pinu.j L < :67 6B.K L < :B7 6B.L L < :%7 latch.le L <:Latch Enable przerzutnika latch.lq R < :J7 7latch.OE L Programowane Output Enable.R L < :(7 (8.S L < :87 (8.SP L < :2!27.T L < :,7.TFB R < : 7,makroceli 11

2 7 7 2 ; Rozszerzenie.AP: ( 2 5# 2 & 23 2 2! 2 2 5 $ 7 @K5#L#MIA 7& 2 2 2 2:3@DA&!#2! 7 5,72 2!7 ;Atmel ATF1500. Rozszerzenie.AR: ( 2 2 & 43 2! 2256222 ; : 7 2!25 12

Rozszerzenie.CE: ( 2 5.+22227%&:e wyzwalane!"2%.+15 8 & 27 3 : termu CE (ang. Clock + 1 25 < 2%.+& #,*GNEE #,0DNEE.+& 2 2 3 2 D& 2! 2 3 2%5 8 7.-" 2 4 rodziny Atmel ATF1500) zrobi to za nas automatycznie. Rozszerzenie.CK: ( 2 5.B 2 :! 2! : 5 $ :3 7! 2! pinów albo, do termu produkcji. Rozszerzenie.CK wybierze term produkcji. ( 2! 2& 7 3! 2&! pinu (na!1&! # 72! 2:3& #,*ONE "7 15 Rozszerzenie.CKMUX: ( 2 5.BC27 3! 25 62 #,*ONE5) &#,*GNEE& #,0DNEE7!&27 2 13

5.BC"2 2 5.B15 2 5.BC2 2 5.B5 Rozszerzenie.D: ( 2 5%2&27 3:%27%5, 7 7& 7 4! -% Atmela na rejestry typu D. Dla PLD Atmela takich jak ATF16V8B/20V8B/22V10B, ATV750/B i ATV2500/B 2 5%23&:!72, inaczej CUPL!5 Rozszerzenie.DFB: ( 2 5%0 2 &! # 2 24! : & 2%! 7 2 7 :5, 4! 2 27 7 #,* ONE? #,*GNEE?5 ( 2 5%0 7 27 2 7!: 7 5 Rozszerzenie.DQ: Rozszerzenie 5%J 2 & 27 3 : 2%5! 2 2 : 25 $ 2 14

27 :J2%5( 2 227 #,0DNEE DGP& 2 5 Rozszerzenie.INT 62 2: :7 ; 5 23 2 : : 7@buried zarówno :3 2 5 ( 2 2 27 #,0DNEE DGP& 2 5 Rozszerzenie.IO: ( 2 )'2 2 7 ; pinów z 5 62 7! 2 72 7! pinów I/O oraz logiki typu A 2 5 62 7 7 :3.-5 15

Rozszerzenia.J i.k: ( 2 56 5B 2 274 :3 stru J K. Równania! 2 2 22 (+9)8,+(8+-+.,&!2: 27%,5,2 27 do.-2h5q5 Rozszerzenie.L: 62 & 27 3 : 2"!5 latch). To rozszerzenie 2!7 : 7 7 &4 #,0DNEE5! 2 7& 7 2 :makroceli jako zatrzaskowe (ang. Latched output). 16

Rozszerzenie.LE: ( 2 5-+ 2 2 : ; 2! latche. 62!7 7 2 : 7 7 &227 #,0DNEE5& 72 -+5 Rozszerzenie.LQ: ( 2 2 22 274 2 :!"!5 imput 1! 2 : 2 "!5 latched). ( 2 227 #,0DNEE makroceli 128, lub 2 5 Rozszerzenie.OE: ( 2 5'+ 2 2 7 274 2! :! termu produkcji. Jest wymagane przy wykorzystywaniu dwukierunkowych pinów I/O oraz indywidualnie programowalnych : 27 # #,*ONE?&#,*GNEE? #,0DNEE5 # &72:'+ kontrolowane na poziomie 7&#,0DNEE 2 2 5 Rozszerzenia.S i.r: 17

( 2 2274:3("reset) i S (set) rejestru S-R. (! #,0DNEE!3727 2! 2 2 (+9)8,+(8+-+.,2 : rejestr typu D lub,5,2 27.-2H5Q5 Rozszerzenie.SP: Rozszerzenie to jest stosowane do ustawienia synchronicznego presetu rejestru na : 5$7 & : K 2 72 2! &!:#2! 7 5 Rozszerzenie.T: ( 2 5,274:,275! 2 7&7 4! 27,5( 2 27 #,0DNEE#,*ONE?GNEE5 18

Rozszerzenie.TFB: Roz2 5,0 2 &! makrocela jest ustawiona na kombinacyjne :& 2,! 7 2 7 :5 62 #,*ONE#,*GNEE5( 2 5,07 27 27!: 7 5 2.2.4 & ("# (!.-723 [!] var [.ext] =exp; gdzie: var 2 7 & 2 2 2 4! 2 25 6 2 2 & 227 72 25.ext 2 7 2 7 72 4 2 7!. exp2" 715 =277 72&77 72: & : 5! jest operatorem komplementarnym. W standartowych równaniac! 2 7 72 5 #+$% 7 7 72 ;& 7 272! 2! ;5 872 #+$% 2 4 ;! & & 2 #+$%277 7!5 (! 2 22! 7!5 2.2.5 Operacje na zbiorach: < 2 2 7& 2 7 4! 23 22!7 5'7!3 & 5 19

< 7 7 7 " 1 2 & 72 77 7 7 7! 5 9727 & 2 3 2 :3 567 7 7 2 zbiorów pierwotnych. 9 7 & 2 & 7 2 & 2 R 2.2.6 $ ('# < 7 & 7 : 7! 2!& 27 :3 7 25 2 7 7 pozycjami w zbiorze. Gdy pozycja binarna w zmiennej jest równa 1 element w zbiorze pozostaje niezmieniony, gdy jest równa 0 element zostaje zanegowany, gdy jest równa C 2 25 < 2 7 2 723 &2 37 5 '7 : 3 & 327&7 72 [A3, A2, A1, A0]:& [B3..B0]:# [C3, C2, C1, C0]:$ 8 A3 & A2 & A1 & A0 B3 # B2 # B1 # B0 C3 $ C2 $ C1 $ C0 2.2.7 $ ( # '7 2 2 7 7 :& & 7 2 2 2 :& 7 :5 87 : 2 :2 25 2 432 2"!52bus): FIELD adres =[A3..A0]; $27723 2 select = adres:[c..f]; 2 select = addres:c # addres:d # addres:e # addres:f; 2.3 %, 7 72 2 2 & : 7&2447 5 20

2.3.1 Definiowanie tablicy prawdy:. 2 272 72! 2 2 45 6.- 2,#-+& 2 5 72 43 22 2 : :& 7 27 3 7 7 :: 2 : -2 : : 3 27 3 7 72 5 $27 7 7 2 72 hexadecymalnego, na BCD: FIELD input = [in3..0]; FIELD output = [out3..0]; TABLE input => output { 0=> 00; 1=>01; 2=>02; 3=>03; 4=>04; 5=>05; 6=>06; 7=>07; 8=>08; 9=>09; A=>10; B=>11; C=>12; D=>13; E=>14; F=>15; } 2.3.2 Definiowanie automatu stanów (ang. state machine) # 2! 4#%?) 2 @ 4& 72 27!2 222727 5A8 2! 7 5! : 23 7 7! 2!& :!:! 7 & : 7 3! :& :! 7 I 72&! ; :! poprzedniego stanu, jak i stanów innych przerzutników 2.- 2 7 72 2& 2 : 7 :3&! "!5 combinatorial logic), 2 2& 2& :3 2"!5 registered 721& :3 normalnych. < :>2! 27 Logika kombinatoryczna jest to dowolna kombinacja bramek logicznych (zwykle AND i '(1& 7 2! : 72 7,7 " 2 7 propagacji, ang. propagation delay time).,7 2 2 7 7 : " 27!1 2:5 2 > : 2 2& 2 7 27 5 =4 25 21

(22>2 7 & :4! 25 $ 2 2 7 2& 7 2 :35(2 : 72 7 Tco (ang. clock to 1& 2 2 7 7 2!!& 27 7:7 5 # 7 3 2&.- 27 2& 7 3 4 5 8 8+J+$.+ 4 : 2 27 7 & 4 4 25 ( 2 8+J+$.+ 2 8+J+$.+%& 8+J+$.+6B& 8+J+$.+(8 8+J+$.+,& : 2 & : 222!77 %&6B&(8&,5, 7 27 2 SEQUENCE state_var_list { PRESENT state_n0 IF (condition1)next state_n1; IF (condition2) NEXT state_n2 OUT out_n0; DEFAULT NEXT state_n0; PRESENT state_n1 NEXT state_n2;... PRESENT state_nn statements; } gdzie: state_var_list > 2 2 7 2& ; automatu stanów. state_n > 2 2 : 2 2STS 2" : 23! 215 statements warunki, U& :722725 2.3.3 Definiowanie wielu automatów stanowych. 8.- 4! 2!!7-%59 42 2& 7 & 2 7 2" &!2!72& 7 3 15 8 7 7 7 zbiorach na bitach stanów danego automatu, lub zdefiniowanie globalnego rejestru, który 27 5 < 3! 2& 2 25 < 7 :3 7&!! 2! : 2" 215, 2 2 7 &! 2 27! &!! :3 " 2 7@A15 < : 2 2! 3 & 3 &! 4!!5 22

2.3.4 $ " # 8 CONDITION7 7:2 7 2 274 4! & 7 72 2 ; boolowskich. 82jak 7 CONDITION { IF expr0 OUT var;.. IF exprn OUT var; DEFAULT OUT var; } =2! 7 &! : 2275 2.3.5 Definiowanie funkcji 8 0$.,)'$7 22 77 72 7!4 5$ 37 w równaniach logicznych do reprezentacji tej funkcji. Format definiowania funkcji jest 27 FUNCTION name ([Parameter0,...,Parametern]) { body } <! 3 4&5 9 7 7& 7 4 4 2 3 5 4 4 2 27 2! 5 = 4 22! 4& 7 72 4 2& 2 4 2 2 :3VWE5 2.3.6 Deklaracja MIN: % )$ 4 7 :327&7 :37 & 2& 2 25 % )$72 7 minimalizacji 2 7 2.-50227 MIN var [.ext] = level; gdzie: MIN >22 727 5 var jest 7; 2.ext jest opcjonalnym rozszerzeniem które identyfikuje funkcje zmiennej level>2 2E5H E5H 7 7 & 2 & Quine-McClusky, Presto, Espresso 23

7 777 MIN async_out = 0; /* no reduction */ MIN [outa, outb] = 1; /* Quine McClusky reduction*/ MIN count.d = 4; /* Espresso reduction */ 3 $ )$, :7.-7 7:.-:2.-4Windows. 3.1 +( B7.-27!&: 7 22 2 27 7 ;!7 22 7 45)4 2 7 2 7 7!2 7!4! -%& 22 72 5 #3.- 3.-XPrograms> <WinCUPL>, pojawi 2 2 2 75 24

=File New otwiera plik wzorcowy PLD dla nowego projektu. Open>27 4 Save> 7247 Save As> 7247 7 Print drukuje obecnie wybrany dokument Exit wychodzi z programu =Edit Cut przenosi zaznaczony tekst do schowka Copy kopiuje zaznaczony tekst do schowka Paste wsadza tekst ze schowka w miejsce obecnie wskazywane przez kursor Delete kasuje zaznaczony tekst Copy Message>7 :32 Search szuka podanego tekstu. Line To przechodzi do podanego numeru linii. =Options Compiler Options>7 7:7 &7 47 :5< 73 2 7 275 Minimalization > 2 272 & :! 75 2 4 32G5F5Q5 25

Optimalization > 272 7 :! 7 2 4 32G5F5Q5 Output files>7 7 :5 download>77 5 Doc File Options opcje dla pliku.doc (rodzaj reprezentacji danych w nim zawartych). Output> 7 : 2 kompilacji. Device > 7! 5 72 7 2 7 pld. #3 & 72 :3!! 7& 27 3 %) -..& 3 274 7 5 26

Simulator options>7 2 7 5pld Listing File> 7 :2 "5so). Append Vectors dodaje wektory testowe do pliku.jed. Display Results>:!4 2:35 =adka Run kompilacja, symulacja i analiza Device Specific Compile kompilacja obecnie zaznaczonego projektu na : 5 Device Specific Simulate - symulacja obecnie zaznaczonego projektu na : 5 =Utilities>7 5 =Device Library> 7 ;.- a Calculator> windows File Manager>exploratora windows. DOS Prompt>:7 ;%'8windows. 27

Project opcje projektu Load wczytuje projekt z pliku.pld. 8T> 727" 27 2 1 Windows Sposób radzenia sobie z wieloma otwartymi oknami Cascade otwieraj okna kaskadowo Title> 2 2 Arrange Icons > 7! CUPL Help pomoc on-line i ogólne informacje na temat CUPL 3.2, (%' JEDEC (rozszerzenie.1>27 :!5! "!5 absolute file) (.21>.8)"!5.- logic simulation program program symulacyjny). "5 21> 22 2! 7 5 Plik dokumentacji (.doc) zawiera rozszerzone równania logiczne i tablice symboli zmiennych. A Open PLA file (.7 1>7 4 ;5 4 Tutorial CUPL, 7 7!37!.-4 windows. 27 3727!&727 CUPL. 4.1 Tworzenie bramek 72 3 7!.- 4 2& 27 file 3open. 28

< 7 3 gates.pld z katalogu examples. Plik gates.pld 7 73 2.-5 $ 7:3 7! 2 7 5 272!.-5 29

$:Options -> Compiler '72&:7 2simulate, a 77 do Output file, wybierz tam JEDEC i 2 & 73 7 6+%+. 25 62 7 7 expanded macro i list, aby 347 5 9 7 7 2 2& 7 2! ompilacji. Z menu.7 3Device Specific.7 ": 7 2 4! 723 7 7 15, 4 27 7 & 2 7 6+%+.& symulacje i doda do programu wektory testowe. ; 7 2 2 7 & 27 4! 2F5G5 4.2 Licznik do 10 Ten 7 2 2.-" 2 instrukcje warunkowe) 72 37 DE57 " katalogu U7 21!7 35 62! :2! 25< up, down i 2 5 Asynchroniczny 7 2!2!&! 2! :35 < 2 27 23! 77!7 "1&27 27 3"!37 41 37 4"5doc) 30

************************************************************ Count10 ************************************************************ CUPL(WM) 4.7a Serial# MW-67999999 Device g16v8ms Library DLIB-h-36-11 Created Mon May 06 10:19:28 1996 Name Count10 Partno CA0018 Revision 02 Date 12/19/89 Designer Kahl Company Logical Devices, Inc. Assembly None Location None ============================================================ Expanded Product Terms ============================================================ Q0.d =>!Q0 &!Q1 &!Q2 & Q3 &!clr #!Q0 &!Q3 &!clr Q1.d =>!Q0 &!Q1 &!Q2 & Q3 &!clr & dir # Q0 &!Q1 &!Q3 &!clr &!dir #!Q0 & Q1 &!Q3 &!clr &!dir # Q0 & Q1 &!Q3 &!clr & dir #!Q0 &!Q1 & Q2 &!Q3 &!clr & dir Q2.d =>!Q0 &!Q1 &!Q2 & Q3 &!clr & dir # Q0 & Q1 &!Q2 &!Q3 &!clr &!dir #!Q1 & Q2 &!Q3 &!clr &!dir # Q0 & Q2 &!Q3 &!clr & dir #!Q0 & Q1 & Q2 &!Q3 &!clr Q3.d => Q0 &!Q1 &!Q2 & Q3 &!clr & dir #!Q0 &!Q1 &!Q2 &!Q3 &!clr & dir # Q0 & Q1 & Q2 &!Q3 &!clr &!dir #!Q0 &!Q1 &!Q2 & Q3 &!clr &!dir carry =>!Q0 &!Q1 &!Q2 &!Q3 &!clr & dir # Q0 &!Q1 &!Q2 & Q3 &!clr &!dir clear => clr count => Q3, Q2, Q1, Q0 down =>!clr & dir mode => clr, dir up =>!clr &!dir carry.oe => 1 31

627.- 272 2e. 8.- 2 2 4 "2 ;15 4.3 Kwadrat Z menu 4 35, 2 7 45$ 3 7! B & 3 pinów, dla tego projektu 7 3 H :3 P :3" 7 DQ*P15 = H piny :2 :&2 2P7)?'2 :5 $27 2 4 2 2! " 7 2! 0)+-%15 9! & 27 3 2 2 75 $ 3&.- 72 7 (++#,& 2 725 Name SQUARE; Partno XX; Date 05/01/96; Revision 01; Designer Chip Willman; Company Logical Devices Inc.; Assembly None; Location U1; Device G16V8; /**********************************************************/ /* This Design Example is an example of a lookup table to */ /* produce the square of a number coming in. */ /* */ /**********************************************************/ /* Allowable Target Device Types: */ /**********************************************************/ /** Inputs **/ Pin [2..5] = [I0..3] ; /* Input bus line 4 bits */ /** Outputs **/ Pin [12..19] = [Ot0..7] ; /* Output bus line 8 bits */ /** Declarations and Intermediate Variable Definitions **/ Field input = [I3..0]; Field output = [Ot7..0]; /** Logic Equations **/ Table input=>output { d 00 => d 000; d 01 => d 001; d 02 => d 004; $REPEAT A = [3..15] d {A} => d {A*A}; $REPEND } < 7!.- 2 2 7 2 2! 5 < 7 U7 25U 72 2 : 7 5 32