[Spartan6] Microblaze zu groß?

Gast #3333420
Lesenswert?

Hallo Zusammen,

ich wage mich gerade an das Thema Ethernet und wollte dazu zunächst auf 
dem FPGA ein Microblaze mit axi_ethernet und DMA verwenden. Eigentlich 
hatte ich mir darum, dass das Design zu groß ist, überhaupt keine 
Gedanken gemacht, ich hielte das ganze noch recht "überschaubar" für 
einen FPGA - allerdings habe ich auf dem Gebiet auch wenig Erfahrung.

Der Synthese-Prozess gibt mir folgende Meldung:
1
Device utilization summary:
2
---------------------------
3

4
Selected Device : 6slx16csg324-2 
5

6

7
Slice Logic Utilization: 
8
 Number of Slice Registers:           11453  out of  18224    62%  
9
 Number of Slice LUTs:                12488  out of   9112   137% (*) 
10
    Number used as Logic:             11113  out of   9112   121% (*) 
11
    Number used as Memory:             1375  out of   2176    63%  
12
       Number used as RAM:              527
13
       Number used as SRL:              848
14

15
Slice Logic Distribution: 
16
 Number of LUT Flip Flop pairs used:  18124
17
   Number with an unused Flip Flop:    6671  out of  18124    36%  
18
   Number with an unused LUT:          5636  out of  18124    31%  
19
   Number of fully used LUT-FF pairs:  5817  out of  18124    32%  
20
   Number of unique control sets:       684
21

22
IO Utilization: 
23
 Number of IOs:                          88
24
 Number of bonded IOBs:                  86  out of    232    37%  
25

26
Specific Feature Utilization:
27
 Number of Block RAM/FIFO:               25  out of     32    78%  
28
    Number using Block RAM only:         25
29
 Number of BUFG/BUFGCTRL/BUFHCEs:        10  out of     16    62%  
30
 Number of DSP48A1s:                      3  out of     32     9%  
31
 Number of PLL_ADVs:                      2  out of      2   100%  
32

33
WARNING:Xst:1336 -  (*) More than 100% of Device resources are used

Und hier hänge ich gerade. Leider weiß ich nicht so recht, wie ich das 
Design verringern soll. Ebenfalls finde ich es verrückt, dass die 
Synthese ziemlich lange dauert - wenn ich am Microblaze etwas ändere 
dauert alles über 20 Minuten.

Wie kann man hier vorgehen, um das ganze zu "verkleinern"? Mein PFGA 
enthält auch nur den Microblaze. Verwenden tue ich das ganze übrigens 
auf dem Development Board SP601.

Wie kann man die Zahl der "Slice LUTs" verringern? Ich kann ja im 
Microblaze z.B. so etwas wie "Data Cache" oder "Instruction Cache" 
konkret angeben und auch verkleinern - das wirkt sich allerdings doch 
bestimmt nur auf die verwendeten "Block-RAMs" aus.

Habe ich einfach zu viele Komponenten in meinem MicroBlaze? Den "groben" 
Aufbau habe ich mal als Bild angehängt.
Bringt es etwas, unter "Addresses" im XPS die "Size" einzelner 
Komponenten zu verringern? Allerdings weiß ich dann auch nicht genau, 
was ich eigentlich tue :(

Viele Grüße,
  Thomas
Angehängte Dateien:
Gast #3333476
Lesenswert?

Ich würde mal sagen, Du nimmst nicht ausgerechnet den aller Mickrigsten, 
aller Spartan6 FPGAs. Nimm mal wenigstens den 45er. Der ist so etwas wie 
der Standard. Dann stünde da sowas wie:

11453  out of  54576    21%
12488  out of  27288    46%

und Dein SoftCore täte zweimal reinpassen. Du darst nicht vergesse, dass 
ein Softcore bezogen auf die Anwendung immer extrem viel mehr Platz 
benötigt, als eine gleichwertige FSM.

Siehe auch hier:

http://www.fpga-auswahl-bei-platzverschwender-cores.de
Gast #3333485
Lesenswert?

Hey,

das habe ich gerade auch im Family Sheet 
(http://www.xilinx.com/support/documentation/data_sheets/ds160.pdf) 
gesehen, dass ich wohl eher einen kleinen FPGA habe. Auf dem 
Entwicklungsboard habe ich da natürlich nicht sonderlich große Auswahl.

Vllt. kann ich noch ein paar Optionen der einzelnen Komponenten meine 
Microblaze-Prozessors verwenden, um die Größe zu drücken.

Viele Grüße,
  Thomas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren