Sprawozdanie z ćwiczenia numer 3
Data wykonania ćwiczenia: 07.12.2005
Temat Ćwiczenia:
Projektowanie systemów cyfrowych w oparciu o
układy programowalne
Skład sekcji:
Adam Pytlik
Sebastian Sekuła
Marcin Juranek
Łukasz Krawczyk
Laboratorium Mikroinformatyki
Rok akademicki
Termin
Rodzaj studiów
Kierunek
Prowadzący
Sekcja
Podsekcja
Środa
2005/2006
16:15-17:45
Wieczorowe
INF
BSz 3
3
1. Temat:
Tematem ćwiczenia było napisać 5-bitowy licznik odejmujący z krokiem jeden i
z krokiem trzy.
2. Kod programu (język ABEL):
module licznik
q4,q3,q2,q1,q0 pin istype 'reg';
dir pin;
clear pin;
clk pin;
step pin;
count = [q4,q3,q2,q1,q0];
equations
count.clk = clk;
count.ar = !clear;
when ((!dir) & step) then count := count - 1;
when ((!dir) & (!step)) then count := count - 3;
test_vectors( [clk,clear,dir,step] -> count )
[0, 0, 0, 0] -> 0;
@const i = 31;
@repeat 32
{
[.c., 1, 0, 1] -> i;
@const i = i - 1;
@if ( i < 31){ @const i = i + 32;}
}
@const i = 29;
@repeat 32
{
[.c., 1, 0, 0] -> i;
@const i = i - 3;
@if ( i < 31){ @const i = i + 32;}
}
end
3. Wyniki działania kompilatora:
Simulate EZ-ABEL 4.30 Date: Wed Dec 7 17:35:03 19:5
Fuse file: 'licznik.tt1' Vector file: 'licznik.tmv' Part:
'PLA'
c
l s
c e d t
l a i e q q q q q
k r r p 4 3 2 1 0
V0001 0 0 0 0 L L L L L
V0002 C 1 0 1 H H H H H
V0003 C 1 0 1 H H H H L
V0004 C 1 0 1 H H H L H
V0005 C 1 0 1 H H H L L
V0006 C 1 0 1 H H L H H
V0007 C 1 0 1 H H L H L
V0008 C 1 0 1 H H L L H
V0009 C 1 0 1 H H L L L
V0010 C 1 0 1 H L H H H
V0011 C 1 0 1 H L H H L
V0012 C 1 0 1 H L H L H
V0013 C 1 0 1 H L H L L
V0014 C 1 0 1 H L L H H
V0015 C 1 0 1 H L L H L
V0016 C 1 0 1 H L L L H
V0017 C 1 0 1 H L L L L
V0018 C 1 0 1 L H H H H
V0019 C 1 0 1 L H H H L
V0020 C 1 0 1 L H H L H
V0021 C 1 0 1 L H H L L
V0022 C 1 0 1 L H L H H
V0023 C 1 0 1 L H L H L
V0024 C 1 0 1 L H L L H
V0025 C 1 0 1 L H L L L
V0026 C 1 0 1 L L H H H
V0027 C 1 0 1 L L H H L
V0028 C 1 0 1 L L H L H
V0029 C 1 0 1 L L H L L
V0030 C 1 0 1 L L L H H
V0031 C 1 0 1 L L L H L
V0032 C 1 0 1 L L L L H
V0033 C 1 0 1 L L L L L
V0034 C 1 0 0 H H H L H
V0035 C 1 0 0 H H L H L
V0036 C 1 0 0 H L H H H
V0037 C 1 0 0 H L H L L
V0038 C 1 0 0 H L L L H
V0039 C 1 0 0 L H H H L
V0040 C 1 0 0 L H L H H
V0041 C 1 0 0 L H L L L
V0042 C 1 0 0 L L H L H
V0043 C 1 0 0 L L L H L
V0044 C 1 0 0 H H H H H
V0045 C 1 0 0 H H H L L
V0046 C 1 0 0 H H L L H
V0047 C 1 0 0 H L H H L
V0048 C 1 0 0 H L L H H
V0049 C 1 0 0 H L L L L
V0050 C 1 0 0 L H H L H
V0051 C 1 0 0 L H L H L
V0052 C 1 0 0 L L H H H
V0053 C 1 0 0 L L H L L
V0054 C 1 0 0 L L L L H
V0055 C 1 0 0 H H H H L
V0056 C 1 0 0 H H L H H
V0057 C 1 0 0 H H L L L
V0058 C 1 0 0 H L H L H
V0059 C 1 0 0 H L L H L
V0060 C 1 0 0 L H H H H
V0061 C 1 0 0 L H H L L
V0062 C 1 0 0 L H L L H
V0063 C 1 0 0 L L H H L
V0064 C 1 0 0 L L L H H
V0065 C 1 0 0 L L L L L
65 out of 65 vectors passed.
4. Wnioski końcowe:
Program udało się wykonać bez większych problemów.