GR1008918B - Η προγραμματιζομενη ψηφιακη συσκευη του φορμαλισμου των επαναδιαταξιμων λογικων γραφων - Google Patents

Η προγραμματιζομενη ψηφιακη συσκευη του φορμαλισμου των επαναδιαταξιμων λογικων γραφων Download PDF

Info

Publication number
GR1008918B
GR1008918B GR20150100549A GR20150100549A GR1008918B GR 1008918 B GR1008918 B GR 1008918B GR 20150100549 A GR20150100549 A GR 20150100549A GR 20150100549 A GR20150100549 A GR 20150100549A GR 1008918 B GR1008918 B GR 1008918B
Authority
GR
Greece
Prior art keywords
logic
state
logical
node
nodes
Prior art date
Application number
GR20150100549A
Other languages
English (en)
Inventor
Βασιλειος Μαργαριτη Μουζας
Original Assignee
Βασιλειος Μαργαριτη Μουζας
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Βασιλειος Μαργαριτη Μουζας filed Critical Βασιλειος Μαργαριτη Μουζας
Priority to GR20150100549A priority Critical patent/GR1008918B/el
Publication of GR1008918B publication Critical patent/GR1008918B/el

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Logic Circuits (AREA)

Abstract

Το παρουσιαζόμενο έργο αναφέρεται στο φορμαλισμό ανάπτυξης και εκτέλεσης ψηφιακών συστημάτων υπό μορφή "Επαναδιατάξιμων Λογικών Γράφων" και στην αντίστοιχη προγραμματιζόμενη ψηφιακή συσκευή. Ο Λογικός Γράφος αναπαριστάται ως πίνακας γειτνίασης κατευθυνόμενου γράφου, αποτελούμενου από λογικούς κόμβους, που βρίσκονται διατεταγμένοι στη διαγώνιο του πίνακα και λειτουργούν καταφατικά ή αρνητικά. Πέραν της διαγωνίου, που φέρει τις καταστάσεις λειτουργίας αυτών, τα υπόλοιπα κελιά του πίνακα αποτελούν συνάψεις των κόμβων. Τέλος ορισμένοι είναι είσοδοι και ορισμένοι άλλοι έξοδοι. Έτσι έχουμε συνεκτικούς ισομορφισμούς των ψηφιακών συστημάτων, κατάλληλους για τη διαμόρφωση επαναδιατάξιμων συσκευών, όπως αυτή της παρούσας εφεύρεσης, η οποία αποτελείται από δύο επίπεδα, πρώτον αυτό της επαναπρογραμματιζόμενης μνήμης, που διατηρούνται οι λογικοί γράφοι μέσω της φόρτωσης του πίνακα γειτνίασης στη μνήμη της συσκευής, και δεύτερον το επίπεδο του επαναδιατάξιμου πλέγματος, που εκτελούνται.

Description

Η προγραμματιζόμενη ψηφιακή συσκευή
του φορμαλισμού των
«Επαναδιατάξιμων Λογικών Γράφων»
Περιγραφή:
1.   Τεχνικό Πεδίο στο οποίο αναφέρεται η Εφεύρεση:
         Η παρούσα εφεύρεση αναφέρεται σε επαναδιατάξιμο ψηφιακό ολοκληρωμένο κύκλωμα, ως σύστημα αποθήκευσης και εκτέλεσης ψηφιακών συστημάτων τύπου «Επαναδιατάξιμων Λογικών Γ ράφων».
2.   Στάθμη Προηγούμενης Τεχνικής και Αξιολόγηση αυτής:
         Η στάθμη της υφιστάμενης τεχνικής των επαναδιατάξιμων ψηφιακών συστημάτων οριοθετείται από τα “Complex Programmable Logic Devices” (CPLDs), με πλησιέστερη προηγούμενη στάθμη τεχνικής (ως προς την παρούσα) αυτή του “Field Programmable Gate Array” (FPGA).
         To FPGA διαθέτει, πέραν των άλλων υποσυστημάτων του, ένα σύνολο προγραμματιζόμενων καταχωρητών, μέσω των οποίων επιτυγχάνεται η αναδιάταξη της συσκευής για την εκτελέσιμη αναπαράσταση της εκάστοτε ψηφιακής συνάρτησης, μέσω κατάλληλου προγραμματισμού.
         Έστω ΌγκοςFPGA(x) το πλήθος των καταχωρητών-πόρων που δεσμεύει ένα FPGA για την αναπαράσταση μιας απλοποιημένης ψηφιακής συνάρτησης X, πλήθους Ίnχ’ εισόδων και ‘outx’ εξόδων, ισούται με:
       Η δέσμευση πόρων δηλαδή μέσω FPGA είναι εκθετικά ανάλογη της διεπαφής της εκάστοτε ψηφιακής συνάρτησης, σε αντίθεση με το σύστημα υλοποίησης των «Επαναδιατάξιμων Λογικών Γράφων», όπου η δέσμευση πόρων είναι ουσιαστικά λιγότερο εξαρτώμενη από τη διεπαφή της ψηφιακής συνάρτησης, και περισσότερο από το μέγεθός της ως μία λογική δομή τύπου «Επαναδιατάξιμου Λογικού Γράφου» όπως ορίζεται αναλυτικά στη συνέχεια.
  3. Σύντομη παρουσίαση της Εφεύρεσης:
         Υπάρχουν διάφορα επαναδιατάξιμα ψηφιακά συστήματα που υλοποιούν τις αντίστοιχες τεχνικές μεθόδους και επιτρέπουν έτσι τον προγραμματισμό τους, μέσω του οποίου αναδιατάσσονται ώστε να αναπαράγουν τη συμπεριφορά των εκάστοτε συναρτήσεων. Ένα από αυτά είναι και η παρούσα εφεύρεση, με το σύστημα υλοποίησης των «Επαναδιατάξιμων Λογικών Γράφων», εφεξής οριζόμενο ως «RLG», εκ του «Reconfigurable Logic Graphs».
         Το παρόν επαναδιατάξιμο διαμορφώνεται μέσω της φόρτωσης του ψηφιακού συστήματος που συνέθεσε ο χρήστης στον τετράγωνο πίνακα καταχωρητών που διαθέτει η προγραμματιζόμενη συσκευή. Προκειμένου να είναι εκτελέσιμη για τη συσκευή η μορφή του ψηφιακού συστήματος, αυτό θα πρέπει να έχει συντεθεί ως -ή μετασχηματιστεί σε- ένα Λογικό Γράφο.
         Ο Λογικός Γράφος είναι κατ’ αρχάς ένας κατευθυνόμενος γράφος αναπαριστώμενος μέσω ενός πίνακα γειτνίασης. Ειδικότερα, είναι ένα δίκτυο λογικών κόμβων, όπου οι κόμβοι μπορούν να βρίσκονται σε μία δυαδική κατάσταση η οποία και καθορίζει αν λειτουργούν καταφατικά ή αρνητικά. Έτσι ένας κόμβος σε κατάφαση αποτελεί ένα ανάλογο μίας σύνδεσης ή μίας πύλης “OR” ενώ αντίστοιχα σε άρνηση, το ανάλογο μίας “NOT” ή “NOR”.
         Κάθε ψηφιακό σύστημα ως Λογικός Γ ράφος αποτελείται από ένα σύνολο τέτοιων κόμβων, τους οποίους θα αποκαλούμε και Λογικά Κύπαρα. Αυτά θα θεωρούμε ότι βρίσκονται διατεταγμένα στη διαγώνιο του πίνακα γειτνίασης ενώ το αντίστοιχο διαγώνιο κελί κάθε κυπάρου θα φέρει την κατάσταση κατάφασης ή άρνησης στην οποία δύναται να βρίσκεται το κύτταρο αυτό. Τα υπόλοιπα κελιά της γραμμοστήλης του κυττάρου είναι οι συνάψεις του με άλλα κύπαρα. Αναλυτικότερα, τα κελιά που ανήκουν στη στήλη είναι οι είσοδοι του κυττάρου ενώ αυτά που ανήκουν στη γραμμή είναι οι έξοδοι αυτού.
         Έτσι, πέραν της διαγώνιου, όλα τα υπόλοιπα κελιά του πίνακα γειτνίασης αποτελούν συνάψεις των κυπάρων του συστήματος. Τα κελιά άνω δεξιά της διαγώνιου αποτελούν εν δυνάμει συνδέσεις τροφοδότησης από κύπαρα που προηγούνται προς κύτταρα που ακολουθούν, ενώ αντίθετα τα κελιά κάτω αριστερά της διαγώνιου αποτελούν εν δυνάμει συνδέσεις ανατροφοδότησης από κύπαρα που ακολουθούν προς κύπαρα που προηγούνται.
                 Τέλος κάποια από τα κύτταρα αυτά αποτελούν τη διεπαφή του συστήματος, δηλαδή ορισμένα είναι είσοδοι και κάποια άλλα έξοδοι, ενώ τα υπόλοιπα κύπαρα αποτελούν το σώμα του γράψου και περικλείονται από τα κύπαρα διεπαφής. Πιο συγκεκριμένα, οι είσοδοι προηγούνται (των κυττάρων) 5 του σώματος πάνω στη διαγώνιο διάταξη, ενώ οι έξοδοι ακολουθούν τελευταίες.
                Έτσι προκύπτει η δομή δεδομένων των επαναδιατάξιμων λογικών γράφων μέσω της οποίας μπορούμε να έχουμε συνεκτικούς ισομορφικούς τύπους των ψηφιακών συστημάτων, κατάλληλους για τη διαμόρφωση της παρούσας ίο επαναδιατάξιμης συσκευής, μέσω της φόρτωσης ουσιαστικά του πίνακα γειτνίασης του λογικού γράψου (του ψηφιακού συστήματος του. χρήστη) στον τετράγωνο πίνακα καταχωρητών που διαθέτει η συσκευή (ως μνήμη).
                  Επίσης ένα πλέγμα κατάλληλου λογικού υλικού που τροφοδοτείται από 15 τις καταστάσεις των καταχωρητών (κελιών) και τις οποίες διασυνδέει το πλέγμα βάσει της διαμόρφωσης της μνήμης, επιτρέπει στην επαναδιατάξιμη συσκευή την αναδιάταξή της, με στόχο την εκτέλεση του λογικού γράψου για κάποιες εισόδους (ή/και μερικούς κύκλους) μέσω της οποίας (εκτέλεσης) γίνεται τελικά φανερή η ορθή αναπαραγωγή της λειτουργίας -και συνεπώς της 20 συμπεριφοράς- του συστήματος που συνέθεσε ο χρήστης.
          4. Επισήμανση των πλεονεκτημάτων
                 Για κάθε υλοποίηση (μεγέθους Ν) του επαναδιατάξιμου, η συσκευή παρέχει Ν όλα-προς-όλα-διασυνδεδεμένα επαναπρογραμματιζόμενα λογικά 25 κύπαρα. Έτσι το παρόν επαναδιατάξιμο είναι ένα από τα πιο ευέλικτα στην αναδιαμόρφωση δικτυακών συστημάτων και ένα από τα καταλληλότερα για τη διαμόρφωση περίπλοκων υπερ-διασυνδεδεμένων ψηφιακών συστημάτων.
                 Επίσης, η παρούσα συσκευή μπορεί να χρησιμοποιηθεί και ως δομικό 30 στοιχείο άλλων επαναδιατάξιμων συσκευών που δεν έχουν το χαρακτηριστικό όλα-προς-όλα-διασυνδεδεμένα αλλά μπορούν να παρέχουν περισσότερα λογικά κύπαρα ανά μονάδα χώρου τσίπ, οπότε και μεγαλύτερη επεξεργαστική ισχύ ανά τσιπ.
         Τέλος η δέσμευση πόρων μέσω RLG δεν είναι εκθετικά ανάλογη της διεπαφής για όλους τους τύπους των Λογικών Γράφων των αντίστοιχων ψηφιακών συστημάτων, αντίθετα μπορεί να είναι ακόμα και πολυωνυμική αφού η δέσμευση πόρων είναι ουσιαστικά εξαρτώμενη από το τετράγωνο του μεγέθους της ως μία λογική δομή τύπου «Επαναδιατάξιμου Λογικού Γράφου».
         Έστω ΌγκοςRLG(X) το πλήθος των καταχωρητών-πόρων που δεσμεύει ένα RLG για την αναπαράσταση μιας απλοποιημένης ψηφιακής συνάρτησης X, πλήθους 'nx’ εισόδων και ‘outx’ εξόδων με ‘Σχ’ ύψος δομής (σώμα), ισούται με:
  5. Σύντομη περιγραφή αριθμημένων σχεδίων:
      Σχ. 1 : Τα εικονοσύμβολα του λογικού κελιού για τις δύο καταστάσεις στις οποίες συναντάμε τις δύο μορφές του, και που χρησιμοποιούνται στη συνέχεια στα σχέδια των πινάκων γειτνίασης των λογικών γράφων. Σχ. 2: Η είσοδος-στήλη ενός λογικού κυττάρου (κόμβου).
      Σχ. 3: Η έξοδος-γραμμή ενός λογικού κυττάρου (κόμβου).
      Σχ. 4: Ένα λογικό κύπαρο (κόμβος) ως γραμμοστήλη εισόδου-εξόδου, με τον πυρήνα του (κατάσταση λειτουργείας του) στο κέντρο της γραμμοστήλης και τα υπόλοιπα κελιά να αποτελούν σχεσιακά στοιχεία συνάψεών του.
      Σχ. 5: Νοητή συσσωμάτωση δύο λογικών κυπάρων για την παραγωγή του πίνακα γειτνίασης του ελάχιστου επαναδιατάξιμου λογικού γράφου. Σχ. 6: Ο πίνακας γειτνίασης του λογικού γράφου της πύλης λογικής διάζευξης δύο εισόδων συμβολιζόμενος ως OR #3(2)=1 .
      Σχ. 7: Ο πίνακας γειτνίασης του λογικού γράφου της πύλης λογικής
σύζευξης δύο εισόδων συμβολιζόμενος ως AND #3(2)=1 .
      Σχ. 8: Ο πίνακας γειτνίασης του λογικού γράφου της πύλης λογικής άρνησης της διάζευξης δύο εισόδων συμβολιζόμενος ως NOR #3(2)= 1 .
      Σχ. 9: Ο πίνακας γειτνίασης του λογικού γράφου της πύλης λογικής άρνησης της σύζευξης δύο εισόδων συμβολιζόμενος ως NAND #3(2)= 1 .
      Σχ. 10: Σύνθεση, από τους λογικούς γράφους των πυλών, του πίνακας γειτνίασης του λογικού γράψου της πύλης αποκλειστικής λογικής
διάζευξης δύο εισόδων συμβολιζόμενος ως XOR #9(2)=1 .
      Σχ. 11 : Μία υλοποίηση στοιχείου μνήμης ενός bit που φέρει κάθε λογικό κελί. Σχ. 12: Η υλοποίηση του σχεσιακού στοιχείου ως σύναψη τροφοδότησης. Σχ. 13: Η υλοποίηση του σχεσιακού στοιχείου ως σύναψη ανατροφοδότησης.
      Σχ. 14: Μία υλοποίηση αποκωδικοποιητή για την επιλογή γραμμών προς εγγραφή της παρούσας υλοποίησης της επαναδιατάξιμης συσκευής, Σχ. 15: Η υλοποίηση του πυρήνα του λογικού κυττάρου (ή αλλιώς του κόμβου κατάστασης δυνητικής λογικής άρνησης)
      Σχ. 16: Μία ελάχιστη υλοποίηση δύο κυπάρων της επαναδιατάξιμης συσκευής.
      Σχ. 17: Αναπαραστάσεις εκτελέσεων λογικού γράψου για δοσμένες εισόδους.
  6. Αποκάλυψη της Εφεύρεσης:
         Ακολούθως περιγράφονται αναλυτικά τα αξιωματικά και συστατικά στοιχεία των «Επαναδιατάξιμων Λογικών Γράφων» και εν συνεχεία η αντίστοιχη επαναδιατάξιμη (προγραμματιζόμενη) ψηφιακή συσκευή:
      6.1. Το Λογικό Κύτταρο:
         Λογικό Κύτταρο ορίζουμε ένα συσσωμάτωμα από 2Ν-1 λογικά κελιά (όπως περιγράφονται στη συνέχεια), εκ των οποίων ένα αποτελεί τον πυρήνα του κυπάρου και φέρει τη λογική κατάστασή του, ενώ τα υπόλοιπα 2(Ν-1) αποτελούν αποκλειστικά τα σχεσιακά στοιχεία που φέρει το κύπαρο εντός προκαθορισμένου πεπερασμένου περιβάλλοντος Ν κυττάρων. Το Λογικό Κύτταρο είναι δηλαδή ένας λογικός κόμβος εντός ενός λογικού δικτύου, δηλαδή ενός ψηφιακού συστήματος
            6.1.1. Το Λογικό Κελί:
         Λογικό Κελί ορίζουμε το κβαντικό (ελάχιστο) στοιχείο σχεσιακής λογικής από το οποίο συστήνονται τα Λογικά Κύπαρα. Το Λογικό Κελί έχει δύο μορφές, ως πυρήνας ή ως σχεσιακό στοιχείο μιας σχέσης του πυρήνα με το σώμα των κυττάρων ή και με το περιβάλλον του σώματος (σχήμα 1 , στήλη 1η).
                 6.1. 1.1. Πυρήνας - Ο Κόμβος Κατάστασης:
         Πυρήνα η αλλιώς Κόμβο Κατάστασης ορίζουμε το κεντρικό λογικό κελί ενός κυττάρου που φέρει τη λογική κατάσταση ενός bit (σχήμα 1, γραμμή 3η) και το οποίο διαμορφώνει τη συμπεριφορά του κυττάρου μέσα στο σύστημα.
                 6.1. 1.2. Το σχεσιακό στοιχείο:
Σχεσιακό Στοιχείο ορίζουμε ένα μη κεντρικό λογικό κελί ενός κυττάρου που δύναται να φέρει ένα στοιχείο εισόδου ή εξόδου μιας σχέσης του πυρήνα με τον πυρήνα άλλου κυττάρου του ιδίου συστήματος (σχήμα 1, γραμμή 2η).
            6.1.2. Η Είσοδος - Στήλη:
         Είσοδο - Στήλη ορίζουμε ένα συσσωμάτωμα από Ν λογικά κελιά ενός κυττάρου, εκ των οποίων το ένα αποτελεί τον πυρήνα του κυττάρου ενώ τα υπόλοιπα κελιά αποτελούν τα σχεσιακά στοιχεία εισόδου που φέρει το κύτταρο εντός προκαθορισμένου περιβάλλοντος από τους υπόλοιπους Ν-1 πυρήνες των άλλων κυττάρων προς τον πυρήνα του κυττάρου (σχήμα 2).
            6.1.3. Η Έξοδος - Γραμμή:
         Έξοδο - Γραμμή ορίζουμε ένα συσσωμάτωμα από Ν λογικά κελιά ενός κυττάρου, εκ των οποίων το ένα αποτελεί τον πυρήνα του κυττάρου ενώ τα υπόλοιπα κελιά αποτελούν τα σχεσιακά στοιχεία εξόδου που φέρει το κύτταρο εντός προκαθορισμένου περιβάλλοντος από τον πυρήνα του κυττάρου προς τους υπόλοιπους Ν-1 πυρήνες των άλλων κυττάρων (σχήμα 3).
            6.1.4. Η Οντότητα Γραμμοστήλη:
         Οντότητα Γραμμοστήλη ορίζουμε το περιεχόμενο σύστημα σύνθεσης ενός λογικού κυττάρου ως ένα συσσωμάτωμα από 2Ν-1 λογικά κελιά υπό την μορφή της εισόδου - στήλης η οποία τέμνει (κάθετα) την έξοδο - γραμμή, έχοντας ως σημείο τομής, τον κοινό πυρήνα τους, αυτόν του λογικού κυττάρου (σχήμα 4).
      6.2. Συμπεριφορά Λογικού Κελιού:
         Η μορφή ενός λογικού κελιού και επαγωγικά η συμπεριφορά του εξαρτάται από τη θέση του μέσα στην οντότητα γραμμοστήλη. Αν το λογικό κελί βρίσκεται στο σημείο τομής της γραμμής με τη στήλη τότε αποτελεί τον πυρήνα του λογικού κυττάρου, αλλιώς είναι ένα από τα σχεσιακά στοιχεία του.
           6.2.1 . Καταχωρητής Λογικού Κελιού
         Η υλοποίηση του λογικού κελιού προαπαιτεί την εγκατάσταση ενός στοιχείου μνήμης (ενός bit), το οποίο θα φέρει την κατάσταση του λογικού κελιού είτε αυτό αποτελεί ένα πυρήνα είτε ένα σχεσιακό στοιχείο. Η υλοποίηση του στοιχείου μνήμης μπορεί να είναι οποιαδήποτε, στην παρούσα όμως υλοποίηση (σχήμα 11 , Memory) ως στοιχείο μνήμης χρησιμοποιείται ένα κύκλωμα μανδάλωσης S-R δύο πυλών NOR, και μία πύλη AND για την επιλογή του κελιού μέσα από έναν τετράγωνο πίνακα τέτοιων διατάξεων.
            6.2.2. Συμπεριφορά Ως Πυρήνας:
         Η συμπεριφορά του Λογικού Κελιού ως Πυρήνα εξαρτάται από την κατάσταση στην οποία βρίσκεται αυτός, συναρτήσει των ληφθέντων σημάτων που τον διαρρέουν μέσω των σχεσιακών στοιχείων του κυττάρου του πυρήνα. Αναλυτικότερα, για τις τιμές [ψευδές: 0 , αληθές: 1] του καταχωρητή του κελιού, ο πυρήνας συμπεριφέρεται αντίστοιχα σε κατάφαση (για 0) ή άρνηση (για 1).
Ο παρακάτω πίνακας αλήθειας υποδεικνύει αναλυτικά τη συμπεριφορά αυτή:
           Πιο συγκεκριμένα στην παρούσα εφεύρεση ο πυρήνας (σχήμα 15, Node) υλοποιείται ως μία επαναπρογραμματιζόμενη ηλεκτρονική διάταξη προσομοίωσης κόμβου κατάστασης δυνητικής λογικής άρνησης. Η διάταξη διαθέτει έναν καταχωρητή ενός bit που φέρει την κατάσταση της διάταξης (σχήμα 15, MemoryBit) και ο οποίος έχει τρεις εισόδους, δύο από αυτές, η γραμμή (lineX) και η στήλη (columnY) χρησιμεύουν για την επιλογή και εγγραφή του καταχωρητή μέσα από έναν τετραγωνικό πίνακα τέτοιων διατάξεων, ενώ η τρίτη είσοδος (reset) διαγράφει την κατάσταση του καταχωρητή (σχήμα 11 , Memory). Οι ανωτέρω είσοδοι αποτελούν και εισόδους της διάταξης (σχήμα 15), ενώ η έξοδος του καταχωρητή (outState) τροφοδοτεί τη διάταξη με την κατάστασή του (state).
            Η διάταξη διαθέτει τέσσερεις ακόμα εισόδους, δύο εκ των οποίων, το ρολόι (clock) και η κατεύθυνση (direction), για συγχρονισμό, και άλλες δύο, την κάτω (down) και την άνω (up), όπως και δύο εξόδους, τη δεξιά (right) και την αριστερή (left), μέσω των οποίων δίνεται η είσοδος στη διάταξη (Node) και λαμβάνεται το αποτέλεσμα.
            Επίσης διαθέτει άλλους δύο καταχωρητές (σχήμα 15, Reg1 & Reg2) ιδίου τύπου με τον ανωτέρω (σχήμα 11 , Memory). Ο πρώτος καταχωρητής (Reg1) διατηρεί την κατάσταση (statel) της άνω εισόδου (up) της διάταξης κόμβου (Node) κατά τη μετάβαση από την κατεύθυνση τροφοδότησης σε αυτήν της ανατροφοδότησης (direction 0->1), ενώ ο δεύτερος καταχωρητής (Reg2) διατηρεί την κατάσταση (state2) της άνω εισόδου, κατά τη μετάβαση όμως από την κατεύθυνση ανατροφοδότησης σε αυτήν της τροφοδότησης (direction 1->0).
            Έτσι η κατάσταση της εισόδου κατεύθυνσης (direction) επιλέγει διαδοχικά και αντίστοιχα έναν εκ των καταχωρητών (Reg1 , Reg2), ενώ το σήμα του ρολογιού (clock) που μεταβάλλεται με τη διπλάσια συχνότητα από το σήμα κατεύθυνσης ( f(clock)=2f(direction)(Hz)), διαγράφει και στη συνέχεια εγγράφει τον εκάστοτε επιλεγμένο καταχωρητή. Και οι δύο καταχωρητές πρέπει να διαγράφονται κατά την εκκίνηση της συσκευής για την ορθή λειτουργία της, όπως και το σύνολο των καταχωρητών κελιών.
         Τέλος η κατάσταση της δεξιάς εξόδου (σχήμα 15, right) προκύπτει από την αποκλειστική λογική διάζευξη της κατάστασης της διάταξης κόμβου (MemoryBit, outState) με τη λογική διάζευξη της άνω εισόδου (up) και της κάτω εισόδου (down). Ενώ η κατάσταση της αριστερής εξόδου (left) προκύπτει από την αποκλειστική λογική διάζευξη της κατάστασης της διάταξης κόμβου (MemoryBit, outState) με τη λογική διάζευξη της κάτω εισόδου (down) και της κατάστασης του πρώτου καταχωρητή (Reg1, outState) κατά τη διεύθυνση τροφοδότησης (direction=0) ή της κατάστασης του δεύτερου καταχωρητή (Reg2, outState) κατά τη διεύθυνση ανατροφοδότησης (direction=1).
            6.2.3. Συμπεριφορά Ως Σχεσιακό Στοιχείο:
         Η συμπεριφορά του Λογικού Κελιού ως Σχεσιακό Στοιχείο εξαρτάται από την κατάσταση στην οποία βρίσκεται αυτό, συναρτήσει των ληφθέντων σημάτων που το διαρρέουν μέσω των συσχετισμένων πυρήνων μίας σχέσης. Αναλυτικότερα, για τις τιμές [ψευδές: 0 , αληθές: 1] του καταχωρητή του κελιού, το σχεσιακό στοιχείο συμπεριφέρεται αντίστοιχα ως αποσύνδεση (για 0) ή ως σύνδεση (για 1) μεταξύ των πυρήνων των δύο κυττάρων που υποδεικνύει η φυσική θέση της σύναψης αυτής μέσα στον πίνακα γειτνίασης.
Ο παρακάτω πίνακας αληθείας υποδεικνύει αναλυτικά τη συμπεριφορά αυτή:
            Πιο αναλυτικά, στην παρούσα εφεύρεση το σχεσιακό στοιχείο και συγκεκριμένα η σύναψη τροφοδότησης υλοποιείται ως μία επαναπρογραμματιζόμενη ηλεκτρονική διάταξη προσομοίωσης δυνητικής σύνδεσης (σχήμα 12, Connection). Η διάταξη διαθέτει έναν καταχωρητή ενός bit που φέρει την κατάσταση της διάταξης (σχήμα 12, MemoryBit) και ο οποίος έχει τρεις εισόδους, δύο από αυτές, η γραμμή (lineX) και η στήλη (columnY) χρησιμεύουν για την επιλογή και εγγραφή του καταχωρητή μέσα από έναν τετραγωνικό πίνακα τέτοιων διατάξεων, ενώ η τρίτη είσοδος (reset) διαγράφει την κατάσταση του καταχωρητή (σχήμα 11, Memory). Οι ανωτέρω είσοδοι αποτελούν και εισόδους της διάταξης (σχήμα 12), ενώ η έξοδος του καταχωρητή (outState) τροφοδοτεί τη διάταξη με την κατάστασή του (state). Τέλος διαθέτει δύο εισόδους, την αριστερή (σχήμα 12, left) και την άνω (up), και δύο εξόδους, τη δεξιά (right) και την κάτω (down), μέσω των οποίων δίνεται η είσοδος στη διάταξη (Connection) και λαμβάνεται το αποτέλεσμα. Στη δεξιά έξοδο (right) απλώς προωθείται η κατάσταση της αριστερής εισόδου (left) ενώ η κατάσταση της κάτω εξόδου (down) προκύπτει από τη λογική διάζευξη της άνω εισόδου (up) με τη λογική σύζευξη της αριστερής εισόδου (left) και της κατάστασης της διάταξης (Memory Bit, outState).
           Αντίστοιχα, το σχεσιακό στοιχείο ως σύναψη ανατροφοδότησης (σχήμα 13, ConnectionR) υλοποιείται ως μία επαναπρογραμματιζόμενη ηλεκτρονική διάταξη προσομοίωσης αντίστροφης δυνητικής σύνδεσης, η οποία ταυτίζεται με την ηλεκτρονική διάταξη της σύναψης τροφοδότησης (σχήμα 12, Connection) περιστρεμμένης κατά 180° (μοίρες). Πρόκειται δηλαδή για το ίδιο κύκλωμα με τη διαφορά πως για εισόδους έχει αντίστοιχα τη δεξιά (σχήμα 12, right) και την κάτω (down), ενώ για εξόδους την αριστερή (left) και την άνω (up).
Ο παρακάτω πίνακας αλήθειας υποδεικνύει αναλυτικά τη συμπεριφορά αυτή:
      6.3. Συμπεριφορά Λογικών Κυττάρων:
         Εναποθέτοντας διαδοχικά και διαγωνίως (όπως αναπαριστάται ενδεικτικά στο σχήμα 5) πυρήνες γραμμοστηλών δημιουργούμε ένα συσσωμάτωμα λογικών κυττάρων. Το πλήθος των κυπάρων του συσσωματώματος θα αποκαλείται η Τάξη του πλέγματος ή του λογικού γράφου.
         Η συμπεριφορά λοιπόν ενός τέτοιου συστήματος (ενός ή περισσότερων κυττάρων) εξαρτάται από τις καταστάσεις των λογικών κελιών που απαρτίζουν τα κύπαρα αυτά (δηλαδή τις καταστάσεις των πυρήνων και των σχεσιακών τους στοιχείων) συναρτήσει των σημάτων περιβάλλοντος που διαρρέουν το σύστημα μέσω των στοιχείων διεπαφής του. Έτσι μπορούν να παραχθούν αρχικά τα βασικά στοιχεία των λογικών ψηφιακών πυλών (NOT, OR & AND) μέσω των οποίων θα προκύψουν ως συνθέσεις τα συνδυαστικά και εν τέλη τα ακολουθιακά κυκλώματα.
            6.3.1. Το Λογικό Στοιχείο “NOT” Μέσω Πυρήνα:
         Το λογικό στοιχείο “NOT” μπορεί να παραχθεί μέσω του πυρήνα ενός μόνο κυπάρου αφού επαρκούν η μία είσοδος και η μία έξοδος της γραμμοστήλης του, ενώ η συμπεριφορά της λογικής άρνησης επιτυγχάνεται με τον πυρήνα να βρίσκεται σε κατάσταση αληθή όπως φαίνεται και στον παρακάτω υποπίνακα κατάστασης του πυρήνα:
            6.3.2. Το Λογικό Στοιχείο “OR” Μέσω Γράφου:
         Το λογικό στοιχείο “OR“ μέσω γράφου τριών κυττάρων αξιοποιεί τις στήλες των δύο πρώτων γραμμοστηλών ως εισόδους και τη γραμμή της τελευταίας ως έξοδο, ενώ η συμπεριφορά της λογικής διάζευξης επιτυγχάνεται με τους πυρήνες να βρίσκονται σε κατάσταση ψευδή και με τους δύο πρώτους να τροφοδοτούν τον τελευταίο όπως φαίνεται στο σχήμα 6.
 (Ονοματοδωσία Λογικών Γράφων υπό μορφή: Τύπος #Τάξη(είσοδοι)=έξοδοι )
            6.3.3. Το Λογικό Στοιχείο “AND" Μέσω De Morgan:
         Το λογικό στοιχείο “AND” μπορεί να παραχθεί συνδυαστικά μέσω της λογικής διάζευξης και της λογικής άρνησης όπως υποδεικνύει (και αποδεικνύεται από) το θεώρημα De Morgan των λογικών συναρτήσεων.
A * Β = ( A’ Β’ )’
          Έτσι η λογική σύζευξη χρησιμοποιεί το λογικό στοιχείο “ΟR” μέσω γράφου του οποίου όμως οι πυρήνες βρίσκονται σε κατάσταση αληθή όπως φαίνεται στο σχήμα 7.
      6.4.Λονικές Συναρτήσεις Μέσω Λογικών Στοιχείων:
         Τα υπόλοιπα λογικά στοιχεία (εκτός των βασικών) και εν γένει όλες οι άλλες λογικές συναρτήσεις μπορούν πλέον να παραχθούν εναποθέτοντας διαδοχικά και διαγώνια τα απαραίτητα βασικά λογικά στοιχεία και διασυνδέοντάς τα κατάλληλα μέσω των σχεσιακών τους στοιχείων όπως θα κάναμε και στη λογική σχεδίαση της προς αναπαράσταση συνάρτησης.
         Ακολουθούν τρία ενδεικτικά παραδείγματα σύνθεσης ψηφιακών συναρτήσεων κάνοντας χρήση των βασικών λογικών στοιχείων:
      1) NOR #3(2)=1 :
         Στο πρώτο παράδειγμα (σχήμα 8) έχουμε μία πύλη OR δύο εισόδων (όπως στο σχήμα 6) της οποίας η έξοδος (τελευταίο κύτταρο) βρίσκεται σε άρνηση παράγοντας έτσι την πύλη NOR δύο εισόδων.
      2) NAND #3(2)=1 :
         Στο δεύτερο παράδειγμα (σχήμα 9) έχουμε μία πύλη AND δύο εισόδων (όπως στο σχήμα 7) της οποίας η έξοδος (τελευταίο κύτταρο) βρίσκεται σε άρνηση άρνησης, δηλαδή κατάφαση, παράγοντας έτσι την πύλη NAND.
      3) XOR #9(2)=1 :
         Στο τελευταίο παράδειγμα (σχήμα 10) συντίθεται η αποκλειστική λογική διάζευξη XOR δύο εισόδων. Περισσότερα για τη σύνθεση στη συνέχεια.
           6.4.1 . Σύνθεση Λογικού Γράφου
            Στην περίπτωση σύνθεσης ενός ψηφιακού συστήματος από βασικές λογικές συναρτήσεις (όπως στο παράδειγμα του σχήματος 10) τότε:
            Διακρίνουμε αρχικά τις λογικές αυτές συναρτήσεις (ή πύλες) από τις οποίες θα συνθέσουμε το σύστημά μας, και παίρνουμε τους αντίστοιχους βασικούς λογικούς γράφους αυτών. Στην περίπτωση του παραδείγματος XOR βλέπουμε από τη λογική σχεδίαση (που θα μετασχηματίσουμε σε λογικό γράφο) ότι θα χρειαστούν οι λογικοί γράφοι από δύο πύλες NOR και μία AND. Τους τοποθετούμε λοιπόν σε μία συνεχή διαγώνιο διάταξη με την ίδια σειρά (προτεραιότητας) που θα είχαν αν τους χρησιμοποιούσαμε σε λογική σχεδίαση του συστήματος που να ξεκινάει από τις εισόδους αυτού και να καταλήγει στις εξόδους του. Στην προκειμένη τους διστάσουμε σε σειρά NOR, AND, NOR. Τέλος αφού “φορτώσουμε” τους υπογράφους σε έναν ενιαίο γράφο, συνδέουμε κατάλληλα τις στήλες-είσοδους με τις αντίστοιχες γραμμές-εξόδους, των διαφόρων υπογράφων, μέσω εγγραφών στις συνάψεις των κυττάρων.
            6.4.2. Εκτέλεση Λογικού Γράφου
            Ο Λογικός Γράφος είναι μία εκτελέσιμη μορφή, πράγμα που σημαίνει πως μπορεί να εκτελεσθεί ως μια διεργασία και να φτάσει σε μία κατάσταση αποτελέσματος. Η εκτέλεση ενός λογικού γράφου είναι ουσιαστικά το ανάλογο της λειτουργίας του ψηφιακού συστήματος που αναπαριστούμε.
           Αρχικά, τα κύτταρα σε άρνηση διαδίδουν σήμα στις γραμμές-εξόδους τους, το οποίο τροφοδοτεί τα συνδεδεμένα σε αυτό κύτταρα μέσω των συνάψεων, εκτός αν το εν λόγω κύτταρο δέχεται σήμα από κάποιο άλλο κύπαρο και μεταπίπτει έτσι σε κατάσταση κατάφασης όπου τότε δεν διαδίδει κάποιο σήμα. Αντίστοιχα τα κύτταρα σε κατάφαση δεν διαδίδουν κάποιο σήμα, εκτός αν πάρουν αυτά κάποιο (σήμα) από τις εισόδους-στήλες των, όπου τότε διαδίδουν και αυτά το σήμα τους σε όσα κύτταρα τροφοδοτούνται από το εν λόγω κύπαρο. Επίσης τροφοδοτώντας τα κύτταρα-εισόδοι του συστήματος μέσω των εισόδων-στηλών τους, μπορούμε να εκτελέσουμε το λογικό γράφο για διάφορες εισόδους και να πάρουμε το αποτέλεσμα από τα κύτταρα-έξοδοι αυτού, μέσω των εξόδων-γραμμών των κυττάρων αυτών (βλέπε παραδείγματα εκτελέσεων του XOR για όλες τις δυνατές εισόδους, σχήμα 17).
      6.5. Το Πλέγμα Των Επαναδιατάξιμων Λογικών Γράφων :
      Όπως είδαμε και στην παράγραφο 6.3. η συσσωμάτωση κυττάρων παράγει ένα πλέγμα κάποιας τάξης (δηλαδή μεγέθους) το οποίο αποτελείται από πυρήνες, συνάψεις τροφοδότησης και ανατροφοδότησης, σε κατάλληλο σχηματισμό ώστε να δημιουργούν έναν πίνακα γειτνίασης λογικών γράφων.
      Έτσι και οι ψηφιακές υλοποιήσεις των συστατικών αυτών στοιχείων, όπως παρουσιάστηκαν στην παρούσα εφεύρεση, όταν διασυνδέονται σε αντίστοιχο σχηματισμό αποτελούν ένα επαναδιατάξιμο ψηφιακό σύστημα. Η διαμόρφωση του εν λόγω συστήματος γίνεται μέσω κατάλληλου προγραμματισμού του πίνακα καταχωρητών (μνήμης) που διαθέτει, δηλαδή μέσω εγγεγραμμένων πινάκων γειτνίασης λογικών γράφων πάνω σε αυτόν.
      Η εν λόγω συσκευή δηλαδή, μπορούμε να πούμε πως αποτελείται από δύο επίπεδα, πρώτον αυτό της επαναπρογραμματιζόμενης μνήμης (πίνακας καταχωρητών) όπου διατηρούνται οι λογικοί γράφοι, και δεύτερον το επίπεδο του επαναδιατάξιμου πλέγματος όπου εκτελούνται (οι εγγεγραμμένοι στη μνήμη) λογικοί γράφοι. Οι είσοδοι προς υπολογισμό μέσω λογικών γράφων και τα αποτελέσματά των, δίδονται και λαμβάνονται μέσω του δεύτερου επιπέδου. Ενώ η διαγραφή των λογικών γράφων, όπως και η επιλογή γραμμής για την εισαγωγή δεδομένων από τις στήλες (του πίνακα) -με στόχο την κατά γραμμές σειριακή εγγραφή λογικών γράφων στη συσκευή- ανήκουν στο πρώτο επίπεδο.
      Έτσι για την παραγωγή της τελικής επαναδιατάξιμης συσκευής γίνεται -πέραν των ανωτέρω- χρήση ενός ψηφιακού αποκωδικοποιητή για την επιλογή γραμμής προς εγγραφή. Ο αποκωδικοποιητής (ανάλογος του σχήματος 14, Decoder) λαμβάνει την κωδική διεύθυνση της γραμμής (write) και ενεργοποιεί τη δυνατότητα εγγραφής των καταχωρητών των κελιών της αντίστοιχης γραμμής (set) του πίνακα μνήμης, έτσι τα δεδομένα που εισάγονται από τις στήλες του πίνακα καταχωρητών καταλήγουν μόνο στην επιλεγμένη γραμμή. Η κάθε εγγραφή γραμμής (set) επιτρέπεται μόνο κατά την περίοδο που το ρολόι βρίσκεται σε κατάσταση ψευδή (clock=0), έτσι η συνεχόμενη εναλλαγή γραμμών προς εγγραφή (set[n:0]) δεν συγχέει τον προορισμό των δεδομένων αρκεί η επιλογή γραμμής (write) μέσω κωδικής διεύθυνσης, να διαρκεί όσο η περίοδος του ρολογιού (Τwrite=Tclock)
            Το πλέγμα των επαναδιατάξιμων λογικών γράφων (όπως το ελάχιστο πλέγμα τάξεως 2 του σχήματος 16) είναι ουσιαστικά μία επαναδιατάξιμη ψηφιακή συσκευή η οποία διαθέτει Ν(Ν-1)/2 επαναπρογραμματιζόμενες ηλεκτρονικές διατάξεις δυνητικής σύνδεσης (συνάψεις τροφοδότησης σχήματος 12, Connection) σε σχηματισμό άνω τριγωνικού πίνακα και Ν(Ν-1)/2 επαναπρογραμματιζόμενες ηλεκτρονικές διατάξεις αντίστροφης δυνητικής σύνδεσης (συνάψεις ανατροφοδότησης σχήματος 13, ConnectionR) σε σχηματισμό κάτω τριγωνικού πίνακα.
            Τέλος διαθέτει Ν ετταναπρογραμματιζόμενες ηλεκτρονικές διατάξεις κόμβου κατάστασης δυνητικής λογικής άρνησης (πυρήνες σχήματος 15, Node), σε διαγώνιο σχηματισμό και μεταξύ των άνω και κάτω τριγωνικών πινάκων, διασυνδεδεμένων έτσι ώστε να δημιουργούν έναν ενιαίο τετράγωνο πίνακα καταχωρητών μεγέθους Ν<2>(σχήμα 16, Ν=2) ο οποίος επαναπρογραμ ματίζεται και συμπεριφέρεται ως πίνακας γειτνίασης των λογικών γράφων.
            Πιο συγκεκριμένα, κάθε κελί (σχήμα 16, cell_X_Y) συνδέεται με τον αποκωδικοποιητή (Decoder, dec2to2) μέσω της εισόδου γραμμής (χ) που διαθέτει ο καταχωρητής του κελιού, ενώ θα πρέπει να συνδέεται στην κατάλληλη έξοδο (set) του αποκωδικοποιητή βάσει της αντίστοιχης φυσικής θέσης της γραμμής (χ) του πίνακα στην οποία ανήκει το κελί (cell_X_Y). Η είσοδος στήλη, είσοδος των δεδομένων του καταχωρητή του κελιού (y), συνδέεται σε κοινό ακροδέκτη (data) με τις αντίστοιχες εισόδους δεδομένων όλων των κελιών αυτής της στήλης (y). Κάθε τέτοιος ακροδέκτης (data), όπως και κάθε είσοδος του αποκωδικοποιητή για την επιλογή γραμμής (write), αποτελεί απόληξη της συσκευής για την εισαγωγή δεδομένων στη μνήμη κατά γραμμές. Τέλος η είσοδος διαγραφής (r) του καταχωρητή κάθε κελιού συνδέεται σε κοινό ακροδέκτη της συσκευής (reset).
            Στη συνέχεια συνδέουμε κάθε κελί (cell_X_Y) με τα περιφερειακά κελιά του (cell_X-1_Y , cell_X_Y+1 , cell_X+1_Y , cell_X_Y-1 ) ενώνοντας τους αντίστοιχους ακροδέκτες μεταξύ τους. Δηλαδή ο αριστερός ακροδέκτης (left) συνδέεται με το δεξί ακροδέκτη (right) του αριστερού κελιού (cell_X-1_Y), ο άνω ακροδέκτης (up) συνδέεται με τον κάτω ακροδέκτη (down) του άνω κελιού (cell_X_Y+1), ο δεξής ακροδέκτης (right) συνδέεται με τον αριστερό ακροδέκτη (left) του δεξιού κελιού (cell_X+1_Y) και τέλος ο κάτω ακροδέκτης (down) συνδέεται με τον άνω ακροδέκτη (up) του κάτω κελιού (cell_X_Y-1).
            Επίσης οι ακροδέκτες κατεύθυνσης (direction) και ρολογιού (clock) των πυρήνων (node) συνδέονται σε δύο κοινούς (για όλους του πυρήνες) ακροδέκτες και αποτελούν απολήξεις της συσκευής. Τέλος οι άνω είσοδοι (up) της πρώτης γραμμής κελιών αποτελούν τις αντίστοιχες εισόδους του επαναδιατάξιμου πλέγματος της συσκευής, και έτσι οδηγούνται σε ακροδέκτες απολήξεις (σχήμα 16, input). Όπως επίσης σε ακροδέκτες απολήξεις της συσκευής (output) οδηγούνται και οι έξοδοι του επαναδιατάξιμου πλέγματος, τις οποίες αποτελούν οι δεξιές έξοδοι (right) της πρώτης από τα δεξιά στήλης κελιών.
      6.6. Λειτουργία Επαναδιατάξιμης Συσκευής:
      Ένα επαναδιατάξιμο πλέγμα λογικών γράφων πεπερασμένης τάξης δύναται να αναπαριστά και να εκτελεί λογικούς γράφους μικρότερης ή ίσης τάξης με αυτό. Κατά την εκκίνηση λοιπόν της συσκευής το σήμα του ρολογιού (clock) και της κατεύθυνσης (direction) πρέπει το καθένα να εναλλάσσει περιοδικά την κατάστασή του από ψευδή σε αληθή και ανάποδα, με τη διαφορά όπως έχουμε πει πως η συχνότητα του ρολογιού πρέπει να είναι διπλάσια της κατεύθυνσης.
      Επίσης με κατάλληλο σήμα (αληθές:1) πρέπει αρχικά να διαγράψουμε τους καταχωρητές της συσκευής ώστε να σταθεροποιηθεί (reset=1). Στη συνέχεια τροφοδοτούμε τον αποκωδικοποιητή της συσκευής με τις διευθύνσεις των γραμμών μία προς μία (write), εισάγοντας στην είσοδο εγγραφής δεδομένων (data) της συσκευής κάθε φορά τα κατάλληλα δεδομένα, όπως υποδεικνύει η αντίστοιχη γραμμή του υπό φόρτωση λογικού γράφου. Όταν ολοκληρωθεί η εγγραφή του ψηφιακού συστήματος (ως λογικό γράφο) έχουμε στην έξοδο (output) της συσκευής την αναμενόμενη κατάσταση εκκίνησης του εγγεγραμμένου συστήματος, ενώ τροφοδοτώντας τις εισόδους (input) της συσκευής με διάφορα σήματα, αυτή λειτουργεί και συμπεριφέρεται ως ορίζει το πρότυπο σύστημα του χρήστη.
   7. Συμπληρωματική διασφάλιση ορθής αναπαραγωγής:
        Συμπληρωματικά της λεκτικής και σχηματικής περιγραφής των ψηφιακών συστημάτων που συνθέτουν το υλικό της παρούσας επαναδιατάξιμης συσκευής, και μόνο για λόγους διασφάλισης της πλήρους κατανόησης και ορθής αναπαραγωγής της τεχνολογίας από τον ειδικό, παρατίθενται διαδοχικά παρακάτω οι αντίστοιχες περιγραφές υλικού του εκάστοτε συστατικού στοιχείου της συσκευής που προαναλύθηκε στην αποκάλυψη της εφεύρεσης. Η διασφάλιση επιτυγχάνεται εδώ μέσω της γλώσσας περιγραφής υλικού (Hardware Description Language) VHDL και τονίζουμε πως δεν αποτελεί την ουσιαστική αποκάλυψη της παρούσας εφεύρεσης αλλά συμπληρωματική αναφορά που διευκολύνει τον ειδικό σε τέτοια θέματα.
      7.1.0 Καταχωρητής του Λογικού Κελιού:
         Ο καταχωρητής που χρησιμοποιήθηκε στην παρούσα υλοποίηση της συσκευής, περιγράφεται και στη συνέχεια με τη γλώσσα περιγραφής υλικού VHDL (βέβαια θα μπορούσε να έχει γίνει και χρήση άλλων καταχωρητών): library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Memory is
     Port ( lineX : in STD_LOGIC;
            columnY : in STD_LOGIC;
            reset ; in STD_LOGIC;
            outState : out STD_LOGIC);
end Memory;
architecture RTL of Memory is
signal state, reverseState: STD_LOGIC;
begin
     reverseState <= (lineX and columnY) nor state;
    state <= reverseState nor reset;
    outState <= state;
end RTL;
      7.2. To Σχεσιακό Στοιχείο ως Σύναψη Τροφοδότησης:
         Ακολουθεί η περιγραφή υλικού της επαναπρογραμματιζόμενης ηλεκτρονικής διάταξης προσομοίωσης δυνητικής σύνδεσης (σχεσιακό στοιχείο ως σύναψη τροφοδότησης) σε VHDL:
library IEEE;
use   IEEE.STD_LOGIC_1164.ALL; 
entity Connection is
     Port ( x : in STD_LOGIC;
            y : in STD_LOGIC;
            r : in STD_LOGIC;
            left : in STD_LOGIC;
            up : in STD LOGIC;
            right : out STD_LOGIC;
            down : out STD_LOGIC);
end Connection;
architecture RTL of Connection is
    component Memory
         Port ( lineX : in STD_LOGIC;
                columnY : in STD_LOGIC;
                reset : in STD_LOGIC;
                outState : out STD_LOGIC);
    end component;
signal state : STD_LOGIC;
begin
    memoryBit : Memory port map (x, y, r, state);
    right <= left;
    down <= up or (state and left);
end RTL;
      7.3. To Σχεσιακό Στοιχείο ως Σύναψη Ανατροφοδότησης Ακολουθεί η περιγραφή υλικού της επαναπρογραμματιζόμενης ηλεκτρονικής διάταξης προσομοίωσης αντίστροφης δυνητικής σύνδεσης (σχεσιακό στοιχείο ως σύναψη ανατροφοδότησης) σε VHDL:
 library IEEE;
 use IEEE.STD_LOGIC_1164.ALL;
entity ConnectionR is
     Port ( x : in STD_LOGIC;
             y : in STD_LOGIC;
              r : in STD_LOGIC;
              left : out STD_LOGIC;
              up : out STD_LOGIC;
              right : in STD_LOGIC;
             down : in STD LOGIC);
end ConnectionR;
architecture RTL of ConnectionR is component Memory
          Port ( lineX : in STD_LOGIC;
                  columnY : in STD_LOGIC;
                  reset : in STD_LOGIC;
                  outState : out STD LOGIC);
     end component;
signal state : STD_LOGIC;
begin
     memoryBit : Memory port map (x, y, r, state); left <= right;
     up <= down or (state and right);
end   RTL; 
      7.4. Πυρήνας Ο Κομβος Κατάστασης:
         Ακολουθεί η περιγραφή υλικού της επαναπρογραμματιζόμενης ηλεκτρονικής διάταξης προσομοίωσης κόμβου κατάστασης δυνητικής λογικής άρνησης (Πυρήνα) σε VHDL:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Node is
     Port ( direction : in STD_LOGIC;
            clock : in STD_LOGIC;
            x : in STD_LOGIC;
            y : in STD_LOGIC;
            r : in STD_LOGIC;
            left : out STD_LOGIC;
            up : in STD_LOGIC;
            right : out STD_LOGIC;
            down : in STD LOGIC);
end Node;
architecture RTL of Node is
    component Memory
         Port ( lineX : in STD_LOGIC;
                columnY : in STD_LOGIC;
                reset : in STD LOGIC;
                outState : out STD_LOGIC);
    end component;
    signal  state,   statel  ,  state2:  STD_LOGIC; 
begin
     memoryBit : Memory port map (x, y, r, state);
     right <= state xor (up or down);
     Reg1 : Memory port map (up, (not direction) and clock, (not direction) and not clock, statel);
     Reg2 : Memory port map (up, direction and clock, (direction and not clock) or r, state2);
     left <= state xor (down or ((state2 and not direction) or (statel and direction)));
end RTL;
      7.5. 0 Αποκωδικοποιητής Γραμμών Επαναδιατάξιμου Πλέγματος:
         Ακολουθεί η περιγραφή υλικού σε VHDL του αποκωδικοποιητή που χρησιμοποιήθηκε στην παρούσα υλοποίηση της επαναδιατάξιμης συσκευής (ενώ θα μπορούσε να χρησιμοποιηθεί και οποιοσδήποτε άλλος αποκωδικοποιητής) για την επιλογή γραμμής προς εγγραφή από ένα πίνακα καταχωρητών (για μία ενδεικτική, ελάχιστη υλοποίησή της με πλέγμα τάξης 2):
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Decoder is
  Port ( write: in std_ulogic_vector(1 downto 0);
          clock : in STD_LOGIC;
          set: out std_ulogic_vector(1 downto 0));
end Decoder;
architecture RTL of Decoder is
signal  not_write  :  std_ulogic_vector(1  downto  0); 
 begin
             not_write(0) <= not write(O);
             not_write(1) <= not write(1);
             set(O) <= not_write(1) and write(O) and clock;
             set(1) <= write(1) and not_write(0) and clock;
end RTL;
      7.6. Η Επαναδιατάξιμη Συσκευή «RLG»:
             Ακολουθεί η περιγραφή υλικού σε VHDL του πλέγματος Επαναδιατάξιμων Λογικών Γράφων, ενός ενδεικτικού παραδείγματος ελάχιστου μεγέθους τάξης 2 (που έχει παραχθεί δυναμικά μέσω λογισμικού εργαλείου που συνοδεύει την παρούσα τεχνολογία):
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Matrix is
   Port ( write: in std_ulogic_vector(1 downto 0);
          data: in std_ulogic_vector(1 downto 0);
          direction, clock, reset: in STD_LOGIC;
           input: in std_ulogic_vector(1 downto 0);
          output: out std_ulogic_vector(1 downto 0));
end Matrix;
architecture    RTL   of  Matrix  is 
 component Decoder
 Port ( write : in std_ulogic_vector(1 downto 0);
        clock : in STD_LOGIC;
        set : out std_ulogic_vector(1 downto 0)); end component;
component Node
Port ( direction : in STD_LOGIC;
        clock : in STD_LOGIC;
        x : in STD_LOGIC;
        y : in STD_LOGIC;
        r : in STD_LOGIC;
        left : out STD_LOGIC;
        up : in STD_LOGIC;
        right : out STD_LOGIC;
       down : in STD_LOGIC);
end component;
component Connection
Port ( x : in STD_LOGIC;
       y : in STD_LOGIC;
        r : in STD_LOGIC;
       left : in STD_LOGIC;
       up : in STD_LOGIC;
       right : out STD_LOGIC;
       down : out STD_LOGIC);
end  component; 
     component ConnectionR
     Port ( x : in STD LOGIC;
            y : in STD_LOGIC;
            r : in STD_LOGIC;
            left : out STD_LOGIC;
            up : out STD_LOGIC;
            right : in STD_LOGIC;
            down : in STD_LOGIC);
     end component;
type connections is array(0 to 2) of std_ulogic_vector(1 downto 0);
signal lines, columns : connections;
signal set : std_ulogic_vector(1 downto 0);
begin
            dec2to2 : Decoder port map (write, not clock, set);
            cell_0_1 : Node port map
(     direction, clock, set(0), data(1), reset, columns(0)(0), lines(0)(0), columns(1)(0), lines(1)(0));
            cell_0_0 : Connection port map
(  set(0), data(0), reset, columns(1)(0), lines(0)(1), columns(2)(0), lines(1)(1 )); cell_1_1 : ConnectionR port map
(  set(1), data(1), reset, columns(0)(1), lines(1)(0), columns(1)(1), O');
           cell_1_0 : Node port map
(     direction, clock, set(1), data(0), reset, columns(1)(1), lines(1)(1), columns(2)(1), O');
            lines(0)(1 downto 0) <= input;
           output <= columns(2)(1 downto 0);
end  RTL; 

Claims (5)

Αξιώσ
1.         Μέθοδος ανάπτυξης εκτελέσιμων ψηφιακών συστημάτων σε ένα τετράγωνο δυαδικό πίνακα, κατάλληλη για τη διαμόρφωση αντίστοιχων επαναδιατάξιμων συσκευών, χαρακτηριζόμενη από το γεγονός πως • τα συστήματα αυτά συντίθενται ως εγγραφές μονοψήφιων τιμών του δυαδικού συστήματος (0 ή 1) σε ένα τετράγωνο πλέγμα κελιών που αποτελούν πίνακα γειτνίασης ενός κατευθυνόμενου γράφου. • Ο γράφος αυτός, χαρακτηριζόμενος εφεξής «λογικός», συστήνεται ως ένα δίκτυο κόμβων, αντίστοιχων των λογικών διακοπτών, και οι οποίοι μπορούν να βρίσκονται σε μία δυαδική κατάσταση η οποία και καθορίζει αν λειτουργούν καταφατικά ή αρνητικά.
           • Οι καταστάσεις κατάφασης ή άρνησης στις οποίες δύνανται να βρίσκονται οι κόμβοι του λογικού γράφου διατάσσονται εγγραφόμενες μία προς μία στα κελιά της διαγώνιου του πίνακα γειτνίασης.
           • Έτσι, τα υπόλοιπα κελιά του πίνακα γειτνίασης αποτελούν συνδεσμολογία των κόμβων. Τα κελιά άνω δεξιά της διαγώνιου αποτελούν εν δυνάμει συνδέσεις τροφοδότησης των κόμβων ενώ αντίθετα τα κελιά κάτω αριστερά της διαγώνιου αποτελούν εν δυνάμει συνδέσεις ανατροφοδότησής των.
           • Τέλος κάποιοι κόμβοι απαρτίζουν τη διεπαφή του συστήματος, δηλαδή μερικοί είναι είσοδοι και κάποιοι άλλοι έξοδοι, ενώ οι υπόλοιποι κόμβοι περικλείονται από τους κόμβους-είσοδοι που προηγούνται πάνω στη διαγώνιο διάταξη και από τους κόμβους-
έξοδοι που ακολουθούν τελευταίοι (σχήματα 6, 7, 8, 9 & 10).
2.        Μέθοδος εκτέλεσης ψηφιακού συστήματος που αναπτύχθηκε με τη μέθοδο της αξίωσης 1 , για μία συμβατή είσοδο, χαρακτηριζόμενη από το γεγονός πως τροφοδοτώντας τους κόμβους-είσοδοι του λογικού γράφου, μέσω των εισόδων-στηλών τους, μπορούμε να τον εκτελέσουμε για διάφορες εισόδους και να πάρουμε το αποτέλεσμα από τους κόμβουςέξοδοι αυτού, μέσω των εξόδων-γραμμών των κόμβων αυτών. Ξεκινώντας από τον πρώτο κόμβο -πάνω στη διαγώνιο διάταξη- μέχρι τον τελευταίο εφαρμόζουμε την ακόλουθη διαδικασία:
           • Ο κόμβος σε άρνηση διαδίδει σήμα στην έξοδο-γραμμή του, το οποίο τροφοδοτεί τους συνδεδεμένους σε αυτούς κόμβους μέσω των συνδέσεων του πίνακα γειτνίασης, εκτός αν ο εν λόγω κόμβος δέχεται σήμα από κάποιον άλλο κόμβο μέσω της εισόδου-στήλης του και μεταπίπτει έτσι σε κατάσταση κατάφασης όπου τότε δεν διαδίδει κάποιο σήμα.
            • Αντίστοιχα ένας κόμβος σε κατάφαση δεν διαδίδει κάποιο σήμα, εκτός αν πάρει αυτός κάποιο (σήμα) από την είσοδο-στήλη του, όπου τότε διαδίδει και αυτός το σήμα του, μέσω της εξόδου γραμμής του, σε όσους κόμβους συνδέονται με τον εν λόγω κόμβο (σχήμα 17).
3.         Επαναδιατάξιμη ψηφιακή συσκευή που διατηρεί -και διαμορφώνεται από- λογικούς γράφους, παράγωγα της αξίωσης 1, και που δύναται να εφαρμόζει σε αυτούς, επαναληπτικά, τη μέθοδο της αξίωσης 2 (την εκτέλεσή τους για διάφορες εισόδους), χαρακτηριζόμενη από το γεγονός πως η συσκευή συντίθεται από
            • Ν(Ν-1)/2 επαναπρογραμματιζόμενες ηλεκτρονικές διατάξεις δυνητικής σύνδεσης (συνάψεις τροφοδότησης σχήματος 12, Connection) σε σχηματισμό άνω τριγωνικού πίνακα
            • και Ν(Ν-1)/2 επαναπρογραμματιζόμενες ηλεκτρονικές διατάξεις αντίστροφης δυνητικής σύνδεσης (συνάψεις ανατροφοδότησης σχήματος 13, ConnectionR) σε σχηματισμό κάτω τριγωνικού πίνακα.
            • Τέλος διαθέτει Ν επαναπρογραμματιζόμενες ηλεκτρονικές διατάξεις κόμβου κατάστασης δυνητικής λογικής άρνησης (πυρήνες σχήματος 15, Node),
            • σε διαγώνιο σχηματισμό και μεταξύ των άνω και κάτω τριγωνικών πινάκων, διασυνδεδεμένων έτσι ώστε να δημιουργούν έναν εννιαίο τετράγωνο πίνακα καταχωρητών-κελιών μεγέθους Ν<2>(σχήμα 16, Ν=2) ο οποίος επαναπρογραμματίζεται και συμπεριφέρεται ως πίνακας γειτνίασης των λογικών γράφων.
4.         Επαναπρογραμματιζόμενη ηλεκτρονική διάταξη προσομοίωσης δυνητικής σύνδεσης (σχήμα 12, Connection) της αξίωσης 3 χαρακτηριζόμενη από το γεγονός πως
           • στη δεξιά έξοδο (right) προωθείται η κατάσταση της αριστερής εισόδου (left)
           • ενώ η κατάσταση της κάτω εξόδου (down) προκύπτει από τη λογική διάζευξη της άνω εισόδου (up) με τη λογική σύζευξη της αριστερής εισόδου (left) και της κατάστασης του καταχωρητή της διάταξης (MemoryBit, outState).
5.        Επαναπρογραμματιζόμενη ηλεκτρονική διάταξη προσομοίωσης κόμβου κατάστασης δυνητικής λογικής άρνησης της αξίωσης 3 χαρακτηριζόμενη από το γεγονός πως
•    διαθέτει δύο καταχωρητές (σχήμα 15, Reg1 & Reg2) όπου ο πρώτος καταχωρητής (Reg1) διατηρεί την κατάσταση (statel) της άνω εισόδου (up) της διάταξης κόμβου (Node) κατά τη μετάβαση από την κατεύθυνση τροφοδότησης σε αυτήν της ανατροφοδότησης (direction 0->1),
•   ενώ ο δεύτερος καταχωρητής (Reg2) διατηρεί την κατάσταση (state2) της άνω εισόδου, κατά τη μετάβαση όμως από την κατεύθυνση ανατροφοδότησης σε αυτήν της τροφοδότησης (direction 1->0).
·    Τέλος η κατάσταση της δεξιάς εξόδου (σχήμα 15, right) προκύπτει από την αποκλειστική λογική διάζευξη της κατάστασης του καταχωρητή της διάταξης κόμβου (MemoryBit, outState) με τη λογική διάζευξη της άνω εισόδου (up) και της κάτω εισόδου (down). • Ενώ η κατάσταση της αριστερής εξόδου (left) προκύπτει από την αποκλειστική λογική διάζευξη της κατάστασης της διάταξης κόμβου (MemoryBit, outState) με τη λογική διάζευξη της κάτω εισόδου (down) και της κατάστασης του πρώτου καταχωρητή (Reg1, outState) κατά τη διεύθυνση τροφοδότησης (direction=0) ή της κατάστασης του δεύτερου καταχωρητή (Reg2, outState) κατά τη διεύθυνση ανατροφοδότησης (direction=1).
GR20150100549A 2015-12-22 2015-12-22 Η προγραμματιζομενη ψηφιακη συσκευη του φορμαλισμου των επαναδιαταξιμων λογικων γραφων GR1008918B (el)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GR20150100549A GR1008918B (el) 2015-12-22 2015-12-22 Η προγραμματιζομενη ψηφιακη συσκευη του φορμαλισμου των επαναδιαταξιμων λογικων γραφων

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GR20150100549A GR1008918B (el) 2015-12-22 2015-12-22 Η προγραμματιζομενη ψηφιακη συσκευη του φορμαλισμου των επαναδιαταξιμων λογικων γραφων

Publications (1)

Publication Number Publication Date
GR1008918B true GR1008918B (el) 2016-12-23

Family

ID=55637389

Family Applications (1)

Application Number Title Priority Date Filing Date
GR20150100549A GR1008918B (el) 2015-12-22 2015-12-22 Η προγραμματιζομενη ψηφιακη συσκευη του φορμαλισμου των επαναδιαταξιμων λογικων γραφων

Country Status (1)

Country Link
GR (1) GR1008918B (el)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140137064A1 (en) * 2006-06-28 2014-05-15 Achronix Semiconductor Corporation Reconfigurable logic fabrics for integrated circuits and systems and methods for configuring reconfigurable logic fabrics

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140137064A1 (en) * 2006-06-28 2014-05-15 Achronix Semiconductor Corporation Reconfigurable logic fabrics for integrated circuits and systems and methods for configuring reconfigurable logic fabrics

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NEIL GERSHENFELD ET AL: "Reconfigurable Asynchronous Logic Automata (RALA)", 17 January 2010 (2010-01-17), Madrid, Spain, XP055299306, Retrieved from the Internet <URL:http://cba.mit.edu/docs/papers/09.11.POPL.pdf> [retrieved on 20160901] *
SCOTT WILKINS GREENWALD: "Matrix Multiplication with Asynchronous Logic Automata", MASSACHUSETTS INSTITUTE OF TECHNOLOGY, 14 September 2010 (2010-09-14), pages 1 - 63, XP055299643, Retrieved from the Internet <URL:http://cba.mit.edu/docs/theses/10.09.Greenwald.pdf> [retrieved on 20160902] *

Similar Documents

Publication Publication Date Title
JP7286706B2 (ja) Fpgaのテストおよび構成のためのシステムおよび方法
JP4127880B2 (ja) 演算セル、乗算を実施するための方法、およびプログラマブル・デバイス
US7663400B1 (en) Flexible carry scheme for field programmable gate arrays
US9590629B2 (en) Logical elements with switchable connections
US20090204788A1 (en) Programmable pipeline array
Sridhar et al. A functional approach to testing bit-sliced microprocessors
US10218357B2 (en) Logical elements with switchable connections for multifunction operation
Sidhu et al. A self-reconfigurable gate array architecture
WO2014080872A2 (ja) 再構成可能な半導体装置の論理構成方法
Upegui et al. Evolving hardware with self-reconfigurable connectivity in Xilinx FPGAs
US7746110B1 (en) Circuits for fanning out data in a programmable self-timed integrated circuit
US20020011868A1 (en) Very fine grain field programmable gate array architecture and circuitry
US7746101B1 (en) Cascading input structure for logic blocks in integrated circuits
Azarian et al. Reconfigurable computing architecture survey and introduction
GR1008918B (el) Η προγραμματιζομενη ψηφιακη συσκευη του φορμαλισμου των επαναδιαταξιμων λογικων γραφων
Toms et al. Indicating combinational logic decomposition
Jump et al. Microprogrammed arrays
Palchaudhuri et al. Testable architecture design for programmable cellular automata on FPGA using run-time dynamically reconfigurable look-up tables
US20030201795A1 (en) Tileable field-programmable gate array architecture
Shackleford et al. Hardware framework for accelerating the execution speed of a genetic algorithm
RU2585263C1 (ru) Троичный реверсивный регистр сдвига
Yershov et al. A scalable VHDL-implementation technique of the binary encoder structure into FPGA
Morrison et al. Reversible delay-insensitive distributed memory modules
Thoma et al. An adaptive FPGA and its distributed routing.
Havrilov et al. Design of Digital Data Selectors on FPGA in a Laboratory Environment

Legal Events

Date Code Title Description
PG Patent granted

Effective date: 20170130