zipxii2mb Δημοσ. 25 Νοεμβρίου 2008 Δημοσ. 25 Νοεμβρίου 2008 Γεια χαρά σε όλους... όπως βλέπετε είμαι νέο μέλος και χρειάζομαι μια μικρή βοήθεια... έχω ένα προτζεκτ για την σχολή μου που έχει να κάνει με τον σχεδιασμό ενός σειριακού αθροιστή με κώδικα νΗΔΙ και μέσω του προγράμματος μαξπλάς ΙΙ... τα έχω ψιλοχαμένα με αυτά τα πράγματα...δεν το πολυκατέχω... έκανα ανω κάτω το διαδικτυο μπάς και βρώ τίποτα αλλά δεν βρίκα κάτι χρήσιμο... κάθε βοήθεια σεβαστή... ευχαριστώ προκαταβολικά...
Dr.Fuzzy Δημοσ. 25 Νοεμβρίου 2008 Δημοσ. 25 Νοεμβρίου 2008 Γεια χαρά σε όλους...όπως βλέπετε είμαι νέο μέλος και χρειάζομαι μια μικρή βοήθεια... έχω ένα προτζεκτ για την σχολή μου που έχει να κάνει με τον σχεδιασμό ενός σειριακού αθροιστή με κώδικα νΗΔΙ και μέσω του προγράμματος μαξπλάς ΙΙ... τα έχω ψιλοχαμένα με αυτά τα πράγματα...δεν το πολυκατέχω... έκανα ανω κάτω το διαδικτυο μπάς και βρώ τίποτα αλλά δεν βρίκα κάτι χρήσιμο... κάθε βοήθεια σεβαστή... ευχαριστώ προκαταβολικά... 1ον ειναι VHDL... 2ον ειναι max-plus II για τα Altera FPGAs 3ον αυτο που ζητας ειναι πολυ απλο και ειναι ουσιαστικα ενας διακριτος ολοκληρωτης! Αυτο που κανεις ειναι να σωζεις την προηγουμενη τιμη σου (την χ(n-1) ας πουμε) και αθροιζεις με την τρεχουσα χ(n) καθε φορα. Αρα χρειαζεσαι εναν αθροιστη (combinatorial-συνδιαστικη λογικη) και μια sequential process με ρολοι για να κρατας το προηγουμενο αποτελεσμα. Παρακατω σου δινω εναν σκελετο σε VHDL για αυτο που θες. Αν καταλαβεις τα παραπανω που σου γραφω και διαβασεις λιγο μπορεις να συμπληρωσεις αυτα που λειπουν. Ο λογος που δεν σου δινω ολο τον κωδικα ειναι διοτι θεωρω οτι πρεπει να ασχοληθεις και ο ιδιος για να μαθεις ορισμενα πραγματα. Ξεκινα να το δουλευεις και οτι θες με ρωτας! > ------------------------------------------------------------------------------- -- LIBRARIES ------------------------------------------------------------------------------- library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_signed.all; ------------------------------------------------------------------------------- -- ENTITY ------------------------------------------------------------------------------- entity integrator is port ( clk : in std_logic; -- clock rst_n : in std_logic; -- reset (active low) x : in std_logic_vector(ip_sz-1 downto 0); -- input clear : in std_logic; -- clear accumulator y : out std_logic_vector(ip_no+ip_sz-1 downto 0)); -- summed output end entity integrator ; ------------------------------------------------------------------------------- -- ARCHITECTURE ------------------------------------------------------------------------------- architecture rtl of integrator is signal x_p1 : std_logic_vector(y'length-1 downto 0); signal y_c : std_logic_vector(y'length-1 downto 0); begin -- architecture rtl -- add previous input -- output integrated result -- previous input value prev_ip : process (clk, rst_n) is begin -- process previous input value if rst_n = '0' then -- asynchronous reset (active low) elsif rising_edge(clk) then -- rising clock edge end if; end process prev_ip; end architecture rtl;
zipxii2mb Δημοσ. 25 Νοεμβρίου 2008 Μέλος Δημοσ. 25 Νοεμβρίου 2008 αρχικά θέλω να σε ευχαριστήσω για την βοήθεια σου... σχόλιο:ξέρω ότι λέγονται vhdl και maxplusII απλά προσπάθησα να τιρήσω τους κανόνες του forum: "μηνύματα γραμμένα σε greeklish θα διαγράφονται. Παρακαλούμε χρησιμοποιήστε ελληνικούς χαρακτήρες στα μηνύματα σας. " τέλοσπάντων το θέμα είναι αλλού...στο βιβιλίο μου έχει κατασκευή σειριακού αθροιστή με την χρήση καταχωρητών ολίσθησης, ενός αθροιστή, και ενός μετρητή... εκεί που έχω πρόβλημα είναι στο ότι θέλω εναν καταχωρητή σαν αυτόν LIBRARY ieee ; USE ieee.std_logic_1164.all ; -- left-to-right shift register with parallel load and enable ENTITY shiftrne IS GENERIC ( N : INTEGER := 4 ) ; PORT ( R : IN STD_LOGIC_VECTOR(N-1 DOWNTO 0) ; L, E, w : IN STD_LOGIC ; Clock : IN STD_LOGIC ; Q : BUFFER STD_LOGIC_VECTOR(N-1 DOWNTO 0) ) ; END shiftrne ; ARCHITECTURE Behavior OF shiftrne IS BEGIN PROCESS BEGIN WAIT UNTIL Clock'EVENT AND Clock = '1' ; IF E = '1' THEN IF L = '1' THEN Q <= R ; ELSE Genbits: FOR i IN 0 TO N-2 LOOP Q(i) <= Q(i+1) ; END LOOP ; Q(N-1) <= w ; END IF ; END IF ; END PROCESS ; END Behavior ; και το θέμα είναι ότι δεν μπορώ να τον φτιάξω με το maxplus II όπως είναι...δηλαδή με παράλληλο load και enable τον μετρητη και τον αθροιστή τον έχω φτιάξει...σε επίπεδο σχεδιασμού τουλάχιστον...
Dr.Fuzzy Δημοσ. 25 Νοεμβρίου 2008 Δημοσ. 25 Νοεμβρίου 2008 αρχικά θέλω να σε ευχαριστήσω για την βοήθεια σου...σχόλιο:ξέρω ότι λέγονται vhdl και maxplusII απλά προσπάθησα να τιρήσω τους κανόνες του forum: "μηνύματα γραμμένα σε greeklish θα διαγράφονται. Παρακαλούμε χρησιμοποιήστε ελληνικούς χαρακτήρες στα μηνύματα σας. " τέλοσπάντων το θέμα είναι αλλού...στο βιβιλίο μου έχει κατασκευή σειριακού αθροιστή με την χρήση καταχωρητών ολίσθησης, ενός αθροιστή, και ενός μετρητή... εκεί που έχω πρόβλημα είναι στο ότι θέλω εναν καταχωρητή σαν αυτόν LIBRARY ieee ; USE ieee.std_logic_1164.all ; -- left-to-right shift register with parallel load and enable ENTITY shiftrne IS GENERIC ( N : INTEGER := 4 ) ; PORT ( R : IN STD_LOGIC_VECTOR(N-1 DOWNTO 0) ; L, E, w : IN STD_LOGIC ; Clock : IN STD_LOGIC ; Q : BUFFER STD_LOGIC_VECTOR(N-1 DOWNTO 0) ) ; END shiftrne ; ARCHITECTURE Behavior OF shiftrne IS BEGIN PROCESS BEGIN WAIT UNTIL Clock'EVENT AND Clock = '1' ; IF E = '1' THEN IF L = '1' THEN Q <= R ; ELSE Genbits: FOR i IN 0 TO N-2 LOOP Q(i) <= Q(i+1) ; END LOOP ; Q(N-1) <= w ; END IF ; END IF ; END PROCESS ; END Behavior ; και το θέμα είναι ότι δεν μπορώ να τον φτιάξω με το maxplus II όπως είναι...δηλαδή με παράλληλο load και enable τον μετρητη και τον αθροιστή τον έχω φτιάξει...σε επίπεδο σχεδιασμού τουλάχιστον... Ο κωδικας που μου δειχνεις ειναι behavioral και δεν μπορει να γινει synthesized σε πυλες παρα μονο simulation για να κανεις verify το σωστο functionality του κυκλωματος. Πρεπει να γραψεις RTL κωδικα (δες το παραδειγμα που σου εδωσα), και διαβασε στο βιβλιο σου για να καταλαβεις τις διαφορες! Υπαρχουν εντολες που δεν γινονται synthesis! Για τα υπολοιπα ισχυει οτι σου εγραψα στο πρωτο μυνημα και ουσιαστικα ο κωδικας που βρηκες ειναι περιπου αυτο.
zipxii2mb Δημοσ. 25 Νοεμβρίου 2008 Μέλος Δημοσ. 25 Νοεμβρίου 2008 Ο κωδικας που μου δειχνεις ειναι behavioral και δεν μπορει να γινει synthesized σε πυλες παρα μονο simulation για να κανεις verify το σωστο functionality του κυκλωματος. Πρεπει να γραψεις RTL κωδικα (δες το παραδειγμα που σου εδωσα), και διαβασε στο βιβλιο σου για να καταλαβεις τις διαφορες! Υπαρχουν εντολες που δεν γινονται synthesis! Για τα υπολοιπα ισχυει οτι σου εγραψα στο πρωτο μυνημα και ουσιαστικα ο κωδικας που βρηκες ειναι περιπου αυτο. ουσιαστικά να το κάνω simulation θέλω... για να είμαι ακριβής πρέπει πρώτα να το σχεδιάσω μέσω max plus II και μετα να το εκρφράσω σε vhdl κώδικα.Αλλα το πρόβλημα μου είναι πώς για αρχή δεν μπορώ να τον σχεδιάσω σαν gdf γιατί δεν μπορώ να φτιάξω σωστά τον shift register ώστε να τον συνδέσω με τον full adder και τον counter...θεωρώ πως θα καταφέρω να εκφράσω τον σειριακό αθροιστή σε vhdl έχοντας σωστά φτιάξει σε επίπεδο σχεδιασμού με πύλες η ολοκληρωμένα τέλοσπάντων τον σειριακό...αυτό που με εκνευρίζει είναι πώς προσπάθησα να φτιάξω τον shift register με πύλες και μετα να τον κάνω symbol αλλα δεν δούλευε σωστα...έψαχα μετα στο help να δώ μήπως υπάρχει έτοιμο ολοκληκωμένο της σειράς 74## και δεν βρίκα κάτι που να με καλύπτει...τέλος χρησιμοποίησα τον wizard αλλά και πάλι δεν μπόρεσα να βάλω όλες τις εισόδους και εξόδους που χρειάζομαι... Το γαμώτο της υπόθεσης είναι πως δεν με ενδιαφέρει να ασχοληθώ με αυτά τα πράγματα με αποτέλεσμα να τα κάνω αναγκαστηκά μόνο και μόνο για να τελειώσω κάποια στιγμή με την σχολή...ήθελα να ξερα γιατί μπήκα σε αυτήν την σχολή...
Dr.Fuzzy Δημοσ. 26 Νοεμβρίου 2008 Δημοσ. 26 Νοεμβρίου 2008 Εχεις μπλεξει το schematic entry με το digital design με HDL γλωσσες και γενικοτερα δεν ξερω απο που να αρχισω να σου εξηγω, διοτι απο αυτα που διαβαζω καταλαβαινω οτι επικρατει ενα χαος στις γνωσεις σου οσον αναφορα το VLSI... Σου εχω στειλει πμ με το τηλεφωνο μου, οποτε αν θες παρε με να προσπαθησω να σε βοηθησω τηλεφωνικος!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.