PDA

Επιστροφή στο Forum : Εισαγωγή στο: FPGA



pet
04-10-07, 04:49
Θέλω να αποκτήσω μια επαφή με fpga.

μάλλον θα ασχοληθώ με

http://www.digilentinc.com/Products/Detail.cfm?Prod=S3BOARD&Nav1=Products&Nav2=Programmable


http://www.digilentinc.com/Data/Products/S3BOARD/S3BOARD-top.gif

μπορεί κανείς να δώσει οδηγίες του τι θα αντιμετωπίσω;

Ο κώδικας δεν με ανησυχεί έχω δει πάνω κάτω τι παίζει, με νοιάζουν τα πρακτικά θέματα.

1) πόσο εύκολη είναι η κατασκευή πλακέτας (σχεδίαση/εκτύπωση/κόλημα) που έχει επάνω fpga ?
2) που βρίσκω στο εμπόριο τα ολοκληρωμένα για ένα δικό μου project ?
3) απο development tools κλπ τι παίζει; θα χρειαστεί να σκάσω και άλλα λεφτά;
4) έχω ακούσει κάτι για περιορισμούς στις 'πύλες' που μπορείς να χρησημοποιήσεις
για εμπορική εφαρμογή, μετά θες άδεια απο xilinx ας πούμε. Ισχύει κάτι τέτοιο;
Αίρεται ο περιορισμός για educational χρήση;
5) Για να μπορώ να κάνω program το fpga σε κάποιο target application τι περιφερειακά χρειάζοντα;
JTAG κλπ μπορώ να τα πάρω απο το development board του παραπάνω link ?

ότι άλλο μπορείτε να σχολιάσετε ευπρόσδεκτο.

pet
04-10-07, 06:44
παραμένουν


1) πόσο εύκολη είναι η κατασκευή πλακέτας (σχεδίαση/εκτύπωση/κόλημα) που έχει επάνω spartan 3 fpga ?

2) που βρίσκω στο εμπόριο τα ολοκληρωμένα για ένα δικό μου project ?

3) απο development tools κλπ τι παίζει; θα χρειαστεί να σκάσω και άλλα λεφτά;

Webpack 9.2i free κατόπιν register απο xilinx.com

4) έχω ακούσει κάτι για περιορισμούς στις 'πύλες' που μπορείς να χρησημοποιήσεις
για εμπορική εφαρμογή, μετά θες άδεια απο xilinx ας πούμε. Ισχύει κάτι τέτοιο;
Αίρεται ο περιορισμός για educational χρήση;

5) Για να μπορώ να κάνω program το fpga σε κάποιο target application τι περιφερειακά χρειάζοντα;
JTAG κλπ μπορώ να τα πάρω απο το development board του παραπάνω link ?

Βρέθηκε, δεν είχα προσέξει ότι δίνει τα σχηματικά το link.[/i]

Lykos1986
04-10-07, 09:48
1) πόσο εύκολη είναι η κατασκευή πλακέτας (σχεδίαση/εκτύπωση/κόλημα) που έχει επάνω spartan 3 fpga ?

Εξαιρετικά δύσκολη. Το 95% βγαίνει σε συσκευασία BGA που σημαίνει ότι θέλεις 100% πολύ-επίπεδη πλακέτα και ειδικό εξοπλισμό για να κολλήσεις το ολοκληρωμένο.




2) που βρίσκω στο εμπόριο τα ολοκληρωμένα για ένα δικό μου project ?

Στην Ελλάδα δεν θα βρεις πουθενά. Εδώ δεν μπορείς να βρεις με ευκολία απλά CPLDs... Γενικός δεν είναι σαν ένα ολοκληρωμένο πύλης ή μC που θα μπεις στο μαγαζί θα πεις φέρε μου ένα 74LS00 ή PIC και θα σου το φέρουν. Η αντίδραση μάλλον που θα πάρεις είναι να σου πουν τι είναι αυτό….

Η μόνη λύση είναι αν το πάρεις από κανένα ενημερωμένο ηλεκτρονικό κατάστημα στο εξωτερικό ή κατευθείαν από την εταιρία (μάλλον θα πρέπει να πάρεις αρκετά ολοκληρωμένα με την δεύτερη λύση).
Αλλά όπως είπα και στην πρώτη σου απορία… τι να τα κάνεις αφού δεν μπορείς να τα χρησιμοποιήσεις σε πλακέτα! Επίσης να ξέρεις πως είναι και αρκετά ακριβά. Πολλά από αυτά φτάνουν και στο κόστος μιας CPU υπολογιστή.




4) έχω ακούσει κάτι για περιορισμούς στις 'πύλες' που μπορείς να χρησημοποιήσεις
για εμπορική εφαρμογή, μετά θες άδεια απο xilinx ας πούμε. Ισχύει κάτι τέτοιο;

Κάτι τέτοιο δεν ισχύει. Ο αριθμός των πυλών που θα χρησιμοποιήσεις στηρίζετε στην εξυπνάδα που θα βάλεις στον “κώδικα”. Αυτό που ισχύει είναι πως υπάρχουν χιλιάδες έτοιμοι IP Core (σου λύνουν τα χέρια πάρα πολλές φορές) αλλά για να χρησιμοποιήσεις αυτούς θέλεις αρκετά χρήματα. Φυσικά θα πάρεις μια γεύση με τον Xilinx Core Generator του Xilinx 9.2i.

Φυσικά η έκδοση του προγράμματος που θα χρησιμοποιήσεις, αρχικός τουλάχιστον, θα είναι η education. Έχει ακουστεί πως η Foundation έκδοση παράγει κώδικα με αρκετά λιγότερες πύλες. Από την ίδια την Xilinx όμως κάτι τέτοιο δεν επιβεβαιώνεται αφού η ίδια λέει πως το πρόγραμμα επί πληρωμής διαφέρει από το απλό μόνο στα πρόσθετα εργαλεία που προσφέρει.




Ο κώδικας δεν με ανησυχεί έχω δει πάνω κάτω τι παίζει, με νοιάζουν τα πρακτικά θέματα.

Εεεε, είσαι σίγουρος για αυτό που λες; Λογικά θα χρησιμοποιήσεις VHDL ή Verilog. Και οι δύο γλώσσες είναι παλούκια. Μπορεί να δεις ένα παράδειγμα κώδικα και να πεις ότι είναι εύκολο (το ίδιο έκανα και εγώ). Το κακό είναι πως αυτά τα παραδείγματα το μόνο που μπορούν να κάνουν στα FPGAs είναι να ανάβουν κανένα led ή και περισσότερα. Για να κάνεις ατό που κάνει ένας μC για παράδειγμα θέλεις εξαιρετική γνώση της γλώσσας και πάρα πολλές ώρες πάνω από το αναπτυξιακό. Σε καμία περίπτωση δεν είναι C ή Basic και αυτό να το θυμάσαι! Αν ξεκινήσεις να γράφεις κώδικα με αυτήν την λογική τότε δεν κάνεις τίποτα (για την ακρίβεια θα γεμίσεις με πύλες το FPGA για το τίποτα). Η γλώσσες ου χρησιμοποιούνται εδώ είναι περιγραφικές γλώσσες.

Κατά την ταπεινή μου γνώμη αυτό θα έπρεπε να σε απασχολεί και όχι τα πρακτικά θέματα. Αρχισε πρώτα με ένα απλό αναπτυξιακό για να δεις πως προχωρεί το θέμα και μετά πηγαίνεις σε όλα τα επόμενα που αναφέρεις.

Γενικός τι εφαρμογές θέλεις να κάνεις;




PS:
Η ταπεινή μου γνώμη είναι πως τα FPGAs είναι τέλεια, με την διαφορά ότι δεν κάνουν για τις δικές μας εφαρμογές!

pet
04-10-07, 14:03
Δεν θέλω να κάνω συγκεκριμένη εφαρμογή. Εκπαιδευτικά θέλω να το μάθω.
Αλλά να υπάρχει και η δυνατότητα να μπορώ να φτιάξω ένα κύκλωμα
που δεν φτιάχνεται με μικροελεγκτές...

brainman
04-10-07, 18:00
η γλωσσα δυσκολη,τα αναπτυξιακα,αυτα τουλαχιστον που ειδα εγω,ακριβα και για να κανεις κατι που να μην το κανεις με τον μC θα δυσκολευτεις αρκετα.
βεβαια απο οσο ξερω εχει περισσοτερες δυνατοτητες
:wink:

chip
04-10-07, 18:17
Καλά θα κάνεις να ασχοληθείς και με FPGA, αλλά δεν απαιτείται να πας και σε SPARTAN 3.
Καλύτερα να επιλέξεις κάποιο FPGA με TQFP package και να αποφύγεις τα BGA.
Φύσικα πάντα να ξέρεις οτι όσο πιο μεγάλη είναι η συχνότητα που μπορούν να δουλέψουν τόσο αυξάνεται η απαίτηση για καλή τροφοδοσία άρα και πολυστρωματική πλακέτα.
Επίσης για να αρχίσεις να "παίζεις με FPGA" αφού πρόκειται για εκπαιδευτική πλακέτα και όχι για κατασκευή καλύτερα να πάρεις μία έτοιμη που σχεδόν σίγουρα θα σου κοστίσει λιγότερο. και θα παίξει αμέσως... Όταν θα έχεις μία πρώτη εμπειρία φτιάχνεις και μία δική σου πλακέτα.
Επίσης αν είναι η πρώτη σου επαφή θα σου πρότεινα να άσχοληθείς και λίγο με τα CPLD πρώτα ή με κάποιο μικρότερο FPGA σε PLCC Package με 84 πόδια... Δύσκολα βέβαια θα κάνεις μέσα σε αυτό έναν επεξεργαστή (αν και επεξεργαστή πολύ απλό φτιάχνεις ακόμα και σε CPLD) αλλά θα μπορείς να φτιάξεις πάρα πολλά πράγματα...(σχεδόν κάθε άσκηση σε VHDL πιστεύω).
Υπάρχει συγκεκριμένος λόγος που πήγες αναφέρθηκες σε XILINX και καθόλου σε ALTERA?