Forum: FPGA, VHDL & Co. FPGA defekt?


von Einäugige Schlange (Gast)


Lesenswert?

Hallo!

Folgende Situation: In meinem VHDL-Code befinden sich zwei Instanzen von 
ein und der selben Komponente (eine sehr genaue PLL) und beide Instanzen 
werden mit ein und dem selben Signal (kommt aus ein und dem selben 
Register) gefüttert. Doch produzieren die beiden Instanzen sehr 
unterschiedliche Ergebnisse. Woran könnte das liegen? Deutet das auf 
einen Defekt im FPGA (Actel A3PE1500-PQ208) hin?

MfG
Einäugige Schlange

von Lars Samström (Gast)


Lesenswert?

Ohne den Code zu sehen ist das schlecht zu beurteilen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Einäugige Schlange schrieb:
> Doch produzieren die beiden Instanzen sehr
> unterschiedliche Ergebnisse. Woran könnte das liegen?
Mit asynchronen Signalen könnte sowas schon mal passieren:
http://www.lothar-miller.de/s9y/categories/35-Einsynchronisieren

> In meinem VHDL-Code befinden sich zwei Instanzen von
> ein und der selben Komponente (eine sehr genaue PLL)
Was ist das für eine PLL? Ein fixes Modul auf dem FPGA, oder was, was du 
geschrieben hast? Welche Frequenz willst du da verarbeiten? Was ist dein 
FPGA-Takt?

von Einäugige Schlange (Gast)


Lesenswert?

Lars Samström schrieb:
> Ohne den Code zu sehen ist das schlecht zu beurteilen.
Das erlaubt mein Arbeitgeber leider nicht.

Lothar Miller schrieb:
> Einäugige Schlange schrieb:
>> Doch produzieren die beiden Instanzen sehr
>> unterschiedliche Ergebnisse. Woran könnte das liegen?
> Mit asynchronen Signalen könnte sowas schon mal passieren:
> http://www.lothar-miller.de/s9y/categories/35-Eins...
Die Signale sind alle synchron. Die Signale kommen wie gesagt von ein 
und dem selben Register.

Lothar Miller schrieb:
>> In meinem VHDL-Code befinden sich zwei Instanzen von
>> ein und der selben Komponente (eine sehr genaue PLL)
> Was ist das für eine PLL? Ein fixes Modul auf dem FPGA, oder was, was du
> geschrieben hast? Welche Frequenz willst du da verarbeiten? Was ist dein
> FPGA-Takt?
Die PLL habe ich selber geschrieben. Der FPGA läuft bei 50 MHz und die 
PLL soll Signale zwischen etwa 2 und 20 MHz verarbeiten.

von Hans (Gast)


Lesenswert?

>Die PLL habe ich selber geschrieben

Und das soll funktionieren? Was soll denn die PLL können?

von Einäugige Schlange (Gast)


Lesenswert?

Hans schrieb:
>>Die PLL habe ich selber geschrieben
>
> Und das soll funktionieren? Was soll denn die PLL können?

Mit nur einer PLL funktioniert das sogar sehr gut. Nur mit Zweien gibt 
es die oben beschriebenen Probleme.

Die PLL soll auf eine möglichst genaue Art und Weise der Frequenz 
folgen, mit der sie gefüttert wird. Zusammen mit zwei Lasern, ein paar 
Spiegeln, ein paar Stahlteilern und zwei Photodioden sollen so relative 
Distanzänderungen auf Mikrometer genau gemessen werden.

von Strubi (Gast)


Lesenswert?

Ich kenne die Actel-Dinger nicht, aber ich würde mal auf ein 
Timing-Problem tippen, allerdings bist du mit 20MHz nicht in direkt in 
der "kritischen Zone". Kleine Checkliste:
- Alle Timing-Constraints definiert und durchgeprueft?
- Wo sind die Instanzen auf dem Chip plaziert ("Floorplanning")?
- Post-Place-Route-Simulation ueberprueft?

Ich habe solch merkwuerdige "Kaputt?"-Effekte bei hohen Frequenzen und 
Einsatz von DLL (Digital Delay Loop) schon gesehen, lag aber eben an 
fehlendem Feintuning des Systems und einem vergessenen Constraint.
Würde sonst mal bei Actel nachfragen, wie/ob man per JTAG irgendwelche 
Redundancy-Checks bzgl. FF-Function durchfuehren kann, soweit ich mich 
erinnere, sind die ja recht fortgeschritten, was Zuverlaessigkeit 
anbelangt.

Gruss,

- Strubi

von FPGA-Berater (Gast)


Lesenswert?

Kannst Du nicht ein Leerdesign bauen und laden? Dann kann man die Pins 
einzeln testen (tooglen) und das Laden verifizieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.