ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης

Σχετικά έγγραφα
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων

HY220 Pipelines and FSMs Χειμεριν Χειμερι ό Εξ άμη Εξ ν άμη ο

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

Σχεδίαση Ψηφιακών Συστημάτων

Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Δομική περιγραφή και περιγραφή Μηχανών Πεπερασμένων Καταστάσεων

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων. Πολυπλέκτες Καμπύλη Παρέτο. Κωδικοποιητές/Από-κωδικοποιητές D FF

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Σχεδίαση Ψηφιακών Συστημάτων. Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ

Επιβεβαίωση ορθής λειτουργίας απλών ψηφιακών κυκλωμάτων

Δημοκρίτειο Πανεπιστήμιο Θράκης Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών. Συστήματα VLSI. Πρόοδος Άνοιξη 2018

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο Διάλεξη 8 η : Μηχανές Πεπερασμένων Κaταστάσεων σε FPGAs

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

Σχεδίαση Ψηφιακών Συστημάτων

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

Ελίνα Μακρή

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Γλώσσα περιγραφής υλικού: Verilog

Ψηφιακή Λογική Σχεδίαση

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009

VERILOG. Γενικά περί γλώσσας

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

Σχεδίαση Ψηφιακών Συστημάτων

Άσκηση 3 Ένα νέο είδος flip flop έχει τον ακόλουθο πίνακα αληθείας : I 1 I 0 Q (t+1) Q (t) 1 0 ~Q (t) Κατασκευάστε τον πίνακα

Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική και Εφαρμογές»

Παράδειγμα αντιστοίχισης κυκλώματος σε FPGA

Μετρητής Ριπής ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ. Αναφορά 9 ης. εργαστηριακής άσκησης: ΑΦΡΟΔΙΤΗ ΤΟΥΦΑ Α.Μ.:

ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙ ΙΟ ΓΙΑ ΣΧΕ ΙΑΣΜΟ ΜΕ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ VHDL

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops

ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 4 η ΟΣΣ 15/03/2014 Συμπληρωματικές Διαφάνειες

Οδηγίες εγκατάστασης και χρήσης του Quartus

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΕΦΑΡΜΟΓΕΣ ΚΑΤΑΧΩΡΗΤΩΝ ΟΛΙΣΘΗΣΗΣ

Ασύγχρονοι Απαριθμητές. Διάλεξη 7

ΑΣΚΗΣΗ 9η-10η ΑΡΙΘΜΗΤΙΚΗ-ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΕΝΟΣ ΨΗΦΙΟΥ (1-BIT ALU)

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥΣ ΜΕ FLIP-FLOP ΚΑΙ ΠΥΛΕΣ

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Προχωρημένα Θέματα Σχεδιασμού με VHDL

Η συχνότητα f των παλµών 0 και 1 στην έξοδο Q n είναι. f Qn = 1/(T cl x 2 n+1 )

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΚΑΤΑΧΩΡΗΤΕΣ ΟΛΙΣΘΗΤΕΣ

Σχεδίαση της Μονάδας Ελέγχου

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συντρέχων Κώδικας

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη

Συστήματα VLSI Παραδείγματα ασκήσεων

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017

K24 Ψηφιακά Ηλεκτρονικά 10: Ακολουθιακά Κυκλώματα

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

Ψηφιακή Λογική Σχεδίαση

Κυκλωμάτων» Χειμερινό εξάμηνο

Ψηφιακή Λογική Σχεδίαση

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο

ΗΥ225 Οργάνωση Υπολογιστών. Εισαγωγή στη Verilog

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΕΙΡΙΑΚΗ ΠΡΟΣΘΕΣΗ

Α. ΣΚΟΔΡΑΣ ΠΛΗ21 ΟΣΣ#2. 14 Δεκ 2008 ΠΑΤΡΑ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ 2008 Α. ΣΚΟΔΡΑΣ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ

Πράξεις με δυαδικούς αριθμούς

Ολοκληρωμένα Κυκλώματα

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες)

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Ανάλυση Ακολουθιακών Κυκλωμάτων 1

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων

Επαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου. ρ. Κωνσταντίνος Σ. Χειλάς. Ethernet

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 16: Μετρητές (Counters)

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

Ψηφιακή Σχεδίαση Ενότητα 10:

Σχεδίαση CMOS Ψηφιακών Ολοκληρωμένων Κυκλωμάτων

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα)

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

HY330 Ψηφιακά Κυκλώματα - Εισαγωγή στα Συστήματα VLSI. 1 ΗΥ330 - Διάλεξη 7η - Ακολουθιακά Κυκλώματα

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2016

HY130 Ψηφιακή Σχεδίαση

ΑΣΚΗΣΗ 8 ΚΑΤΑΧΩΡΗΤΕΣ - REGISTERS

Σχεδιασμός Ψηφιακών Συστημάτων

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

Transcript:

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ220: Εργαστήριο σχεδίασης ψηφιακών κυκλωμάτων Χριστόφορος Κάχρης 4-11-2009 Πρόοδος Θέμα 1 ο (25%): 1. Βρείτε την μεγίστη συχνότητα λειτουργίας του παρακάτω κυκλώματος χρησιμοποιώντας τις παρακάτω τιμές: t CLOCK2Q =0.8, t SETUP =0.2, t MUX =4, t NOT =2, t AND =5, t OR =3 2. Τροποποιήστε και σχεδιάστε το κύκλωμα ώστε να δουλεύει σε 2 pipeline stages και βρείτε τη νέα μέγιστη συχνότητα ρολογιού. 3. Περιγράψτε το νέο κύκλωμα σε Verilog (dataflow ή/και behavioral) (μπορείτε να αγνοήσετε τους καταχωρητές αριστερά του κυκλώματος). a b w1 w4 y c d w2 sel w3 Απαντηση: 1. critical path = C2Q + MUX + NOT + OR + Setup= 0.8 + 4 + 2 + 5 + 0.2 = 10ns 2. critical path1 = C2Q +AND + Setup = 0.8 + 5 + 0.2 = 6ns critical path2 = C2Q + NOT + OR + Setup= 0.8 + 3 + 2 + 0.2 = 6ns 3. w1 <= a & b; w2 <= sel? c: d; w4 <= w1 ~w2; ή w1 <= a & b; w2 <= sel? c: d; temp = ~w2 w4 <= w1 temp; ή assign temp1 = a & b; assign temp2 = sel? c : d; assign temp3 = ~w2;

assign temp4 = w1 temp3; w1 <= temp1; w2 <= temp2; w4 <= w1 temp3; Θέμα 2 ο (20%): Σχεδιάστε τα κυκλώματα που θα προκύψουν από την σύνθεση των παρακάτω κειμένων Verilog χρησιμοποιώντας λογικές πύλες, πολυπλέκτες, αθροιστές, και flip-flops. Circuit A always @ (posedge clock) if (rst) c <= 0; d <= 0; else if (sel) c = #5 a + 1; d = #5 c + b; else c = #2 a & b; d = #5 c + 1; Circuit B (υποθέστε ότι όλα είναι 1 bit) always @ (posedge clk) if (B & C) f <= 1; else f <= f & C; assign D = (f C)? 1: 0; 1 a b + + 0 B C d 1 f 1 + 1 0 D Θέμα 3 ο (15%): 1. Αν οι τιμές των σημάτων είναι a=4 b0011 και b=4 b1110 βρείτε τις τιμές των παρακάτω σημάτων (και πόσα bit είναι): c = a ^ b d = (a==4 b0011 b==4 b1111) e = ^a f = a==4 b0011? (a 0111) : (b & 1100) g = {a,b} & {b,a} c = a ^ b = 0011 XOR 11110 = 1101 d = (a==4 b0011 b==4 b1111) = 1 Logical_OR 0 = 1

e = ^a = a(0) xor a(1) xor a(2) xor a(3) = 0^0^1^1 =0 f = a==4 b0011? (a 0111) : (b & 1100) = a OR 0111 = 0111 g = {a,b} & {b,a} = 00111110 AND 11100011 =00100010 2. Σας ζητούν να φτιάξετε ένα καινούργιο επεξεργαστή είτε σε ASIC είτε σε FPGA. Ποια θα είναι η πιο οικονομική λύση αν υπολογίζετε ότι θα πουληθούν 20.000 επεξεργαστές και ποσό θα κοστίζει κάθε επεξεργαστής αν θέλουμε να έχουμε κέρδος $10 για κάθε επεξεργαστή; Δίνεται ότι το κόστος αγοράς κάθε FPGA είναι $100, το κόστος κατασκευής κάθε ASIC είναι $20 και το κόστος για τις μάσκες (NRE) είναι $1.000.000. ASIC : NRE + Units * Cost = 1M + 20K * 20 = 1M + 400K = 1400K FPGA ( δεν χρειαζονται μασκες (NRE)) : Units * Cost = 20K * 100 = 2000K Θέμα 4 ο (40%): Σχεδιάστε ένα σύστημα το οποίο θα μετράει πόσα πακέτα δικτύου είναι τύπου TCP και πόσα τύπου UDP με βάση την τιμή του Protocol στο header του IP, όπως φαίνεται στο παρακάτω σχήμα. 1-bit valid FSM TCP Counter 16 bit counter 32-bit data UDP Counter 16 bit counter Παρακάτω δίνεται το header του IP (κάθε γραμμή είναι 32 bits και το Protocol ID (στην τρίτη γραμμή είναι 8 bits). Το σύστημα δέχεται τα πακέτα χρησιμοποιώντας 32 bits. Άρα πρώτα φτάνει στο σύστημα η πρώτη γραμμή (H1), μετά η δεύτερη γραμμή του header(h2), και μετά η τρίτη γραμμή (H3) που περιέχει και το Protocol ID (bits από 23 έως 16). Το σύστημα χρησιμοποιεί ένα valid bit για να καταλαβαίνει πότε υπάρχει ένα νέο πακέτο. Κάθε φορά που έρχεται ένα νέο πακέτο το valid bit γίνεται 1 και παραμένει 1 μέχρι να τελειώσει το πακέτο, μετά γίνεται 0 και μετά ξαναγίνεται 1 μόνο όταν έρθει ένα νέο πακέτο όπως φαίνεται στο διάγραμμα παρακάτω. Όταν η τιμή του Protocol είναι 6 (δηλαδή 8 b00000110) τότε το πακέτο είναι τύπου TCP, όταν η τιμή είναι 17 (δηλαδή 8 b00010001) τότε το πακέτο είναι τύπου UDP. Σχεδιάστε το διάγραμμα καταστάσεων και περιγράψτε το κύκλωμα σε Verilog (δεν χρειάζεται να περιγράψετε τις εισόδους και τις εξόδους. Μόνο την FSM, τους counters και ότι άλλο χρειάζεται) CLK Valid Input H1 H2 H3 new packet Protocol (24-16) 31 25 24 16 15 0 Η1 Version Length Type of Service Total Length Η2 Identification Flags Fragmentation Offset

Η3 Time to Live Protocol Header Checksum... MOORE if (Reset) CurrentState <= STATE_Zero; else CurrentState <= NextState; always @(In or CurrentState) NextState = CurrentState; case (CurrentState) STATE0: STATE1; STATE_H1: STATE_H2; STATE_H2: if (valid) if data[23:16==8 b6) NextState=STATE_TCP; else if data[23:16]==8 b17) NextState=STATE_UDP; ; STATE_TCP: TCP_En <= 1'b1; STATE_UDP: UDP_En <= 1'b1; STATE_: default: // in case we reach a bad state

case NextState = STATE_0; if (reset) tcp_counter=0; else if (TCP_en) tcp_counter = tcp_counter + 1; if (reset) udp_counter=0; else if (UDP_en) udp_counter = udp_counter + 1; MEALY if (Reset) CurrentState <= STATE_Zero; else CurrentState <= NextState; always @(In or CurrentState) NextState = CurrentState; case (CurrentState) STATE0: STATE1; STATE_H1: STATE_H2; STATE_H2: if data[23:16]=8 d6 TCP_En <= 1 b1; else if data[23:16]=8 d17 UDP_En<=1 b1; STATE_: default: // in case we reach a bad state

case NextState = STATE_0; if (reset) tcp_counter=0; else if (TCP_en) tcp_counter = tcp_counter + 1; if (reset) udp_counter=0; else if (UDP_en) udp_counter = udp_counter + 1; MEALY ONE PROCESS always @(posedge clock) if (reset) current_state = state0; TCP_counter <= 16'b0; UDP_counter <= 16'b0; else case (CurrentState) STATE0: if (valid) CurrentState =STATE1; STATE_H1: if (valid) CurrentState =STATE_H2; else CurrentState = STATE0; STATE_H2: UDP_counter+1; if (valid) if data[23:16]=8 d6 TCP_counter<= TCP_counter+1; else if data[23:16]=8 d17 UDP_counter<= if (valid) CurrentState = else CurrentState = STATE0; STATE_: if (valid) CurrentState = else CurrentState = STATE0; default: // in case we reach a bad state CurrentState = STATE_0;

case σε αυτή την περιπτωση οι counter είναι μεσα στο always(@posedge) αρα είναι ηδη καταχωρητες και δεν χρειαζεται να χρησιμοποιησουμε το tcp/udp enable