diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Bachelor/Digitaltechnik 2/SS07/P6/abel_samples.zip_FILES/count4b2.abl | |
| download | Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.gz Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.bz2 | |
Diffstat (limited to 'Bachelor/Digitaltechnik 2/SS07/P6/abel_samples.zip_FILES/count4b2.abl')
| -rw-r--r-- | Bachelor/Digitaltechnik 2/SS07/P6/abel_samples.zip_FILES/count4b2.abl | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Bachelor/Digitaltechnik 2/SS07/P6/abel_samples.zip_FILES/count4b2.abl b/Bachelor/Digitaltechnik 2/SS07/P6/abel_samples.zip_FILES/count4b2.abl new file mode 100644 index 0000000..545d92b --- /dev/null +++ b/Bachelor/Digitaltechnik 2/SS07/P6/abel_samples.zip_FILES/count4b2.abl @@ -0,0 +1,71 @@ +MODULE Counter_4_bit
+TITLE '0 ... 9, version with state diagram'
+DEClARATIONS
+ clk pin 15; " I/O 0, Eingang für den Takt
+ rst pin 16; " I/O 1, Eingang für das Reset Signal
+ ce pin 17; " I/O 2, Eingang für das Enable Signal
+ q3,q2,q1,q0 pin 29,30,31,32 istype 'reg'; " I/O 12, 13, 14, 15, Ausgang: Bits des Zählers, 15: 2^0
+ carry pin 44 istype 'reg'; // I/O 23, Ausgang für Carry
+
+" bus definition, vector, register
+ counter = [q3,q2,q1,q0];
+
+EQUATIONS
+ counter.clk = clk;
+ carry.clk = clk;
+
+STATE_DIAGRAM counter;
+ State 0:
+ if(!rst & ce) then 1; " Bei Erfüllung der Bedingung erfolgt ein Übergang in State 1
+ else 0;
+ State 1:
+ if (rst) then 0;
+ else if (ce) then 2;
+ else 1;
+ State 2:
+ if (rst) then 0;
+ else if (ce) then 3;
+ else 2;
+ State 3:
+ if (rst) then 0;
+ else if (ce) then 4;
+ else 3;
+ State 4:
+ if (rst) then 0;
+ else if (ce) then 5;
+ else 4;
+ State 5:
+ if (rst) then 0;
+ else if (ce) then 6;
+ else 5;
+ State 6:
+ if (rst) then 0;
+ else if (ce) then 7;
+ else 6;
+ State 7:
+ if (rst) then 0;
+ else if (ce) then 8;
+ else 7;
+ State 8:
+ if (rst) then 0;
+ else if (ce) then 9;
+ else 8;
+ State 9:
+ carry := 1;
+ if (rst) then 0;
+ else if (ce) then 0;
+ else 9;
+ State 10:
+ goto 0; " es erfolgt ein bedingungsloser Übergang in State 0
+ State 11:
+ goto 0;
+ State 12:
+ goto 0;
+ State 13:
+ goto 0;
+ State 14:
+ goto 0;
+ State 15:
+ goto 0;
+END
+
|
