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
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?
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.
>Die PLL habe ich selber geschrieben
Und das soll funktionieren? Was soll denn die PLL können?
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.