mikrocontroller.net

Forum: FPGA, VHDL & Co. FPGA-Register-Manipulation mit ChipScope


Autor: Hallbergmoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es möglich, in einem Xilinx FPGA design irgendwelche Register oder 
BRAMS so zu definieren, daß man sie per ChipsScope beschreiben kann?

Ich müsste während der Chipscope-Messung einige Parameter ändern sowie 
einige FSMs gezielt starten.

Ich würde gerne ein Register haben, das ich von Aussen einfach mit 1 
oder 0 beschreiben kann, sodaß ich im Design das REgister abfragen und 
darauf reagieren kann.

Geht sowas?

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht m. W. nicht.

Aber du könntest ja z.B. (wenn vorhanden) einen Push-Button für solche 
Zwecke hernehmen (Taste gedrückt = FSM-Start)

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man nicht so einen JTAG-Core instanziieren, mit dem man RAM-Zellen 
modifizieren kann?

Ich meine, beim Altera Wizzard mal sowas gesehen zu haben, bin aber 
nicht sicher.

Eigentlich muss das prinzipiell gehen, weil die Analyzer (Signaltap und 
Chipscope) ja auch Startbefehle an "ihre" Hardware senden müssen.

Wer weisß da was genaues?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, es gibt schon so ein BSCAN Element, mit dem man interne Signale 
über JTAG beeinflussen kann. Allerdings ist das durch den LogicAnalyzer 
dann belegt. Ich hab sowas auch mal gesucht, und keine Möglichkeit 
gefunden.

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallbergmoser schrieb:
> Ist es möglich, in einem Xilinx FPGA design irgendwelche Register oder
> BRAMS so zu definieren, daß man sie per ChipsScope beschreiben kann?
>
> Ich müsste während der Chipscope-Messung einige Parameter ändern sowie
> einige FSMs gezielt starten.
>
> Ich würde gerne ein Register haben, das ich von Aussen einfach mit 1
> oder 0 beschreiben kann, sodaß ich im Design das REgister abfragen und
> darauf reagieren kann.
>
> Geht sowas?

Der ChipScope VIO Core ist dein Freund. Das ist eine GPIO Komponente mit 
bis zu 256 synchronen oder asynchronen Inputs/Outputs die du über die 
ChipScope GUI oder per JTAG ansteuern kannst.

Autor: Hallbergmoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ui, da schau ich mal.

Autor: Hallbergmoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe nun einen VIO-Core drin und auch einen ICON instanziiert, an 
dem der 36 pin-Breite Control bus hängt.

nun kommt:

ERROR:PhysDesignRules:1683 - Unsupported programming for BSCAN block and
   JTAG_CHAIN attribute value 1. The BSCAN component
   your_instance_name/U0/U_ICON/I_YES_BSCAN.U_BS/I_V4.U_BS has placement 
which
   requires the JTAG_CHAIN attribute to be set to the value 2. The 
JTAG_CHAIN
   attribute must be changed or the programming for the BSCAN block must 
be
   moved to a location corresponding to the JTAG_CHAIN attribute 
setting.
ERROR:Pack:1642 - Errors in physical DRC.

Was ist die Ursache?

Ist der Grund gfs der, dass ich noch einen ICON/ILA drin habe, den ich 
mit einem CDC initiiere?

Was ist zu tun?

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallbergmoser schrieb:
> Ist der Grund gfs der, dass ich noch einen ICON/ILA drin habe, den ich
> mit einem CDC initiiere?

Richtig. Die Hilfe ist aber auch schon angegeben:
requires the JTAG_CHAIN attribute to be set to the value 2

Bei Deinem Chip sind m.E. bis zu 4 BSCAN-Instanzen möglich. Du mußt sie 
nur mit einer Nummer (=JTAG_CHAIN attribute) auseinanderhalten.

Duke

Autor: Hallbergmoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie mache ich das real? Wo muss man das einstellen?

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Such mal im "Libraries Guide for HDL Designs" nach BSCAN. Dort solltest 
Du fündig werden.

Duke

Autor: Hallbergmoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe jetzt im CoreGen den Eintrag für JTAg auf "User2" gestellt. 
Jetzt kollidiert es offenbar nicht mehr und synthetisiert/mapped etc...

Autor: Hallbergmoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Durch ist es, aber ich habe noch keinen Erfolg.

Ich habe die Verdrahtung vorgenommen, wie im ChipsScope Manual 
angegeben, kann aber den zweiten ICON nicht sehen - egal,was ich mit 
ChipScope versuche. Ich sehe immer nur den ICON0/ILA0, den ich mit dem 
CDC erzeuge.

Das ist die Verdrahtung:
vio : xvio
  port map (
    CONTROL => VIO_CONTROL,
    CLK => my_clk,
    SYNC_IN => VIO_SYNC_IN);

icon : xicon
  port map (
    CONTROL0 => VIO_CONTROL);

Ich habe auch versucht, mit dem CDC (chips Scope core inserter) einen 
zweiten ICON zu erzeugen, geht aber nicht.

?

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
User2 ist nicht JTAG_CHAIN, oder?!

Duke

Autor: Sym (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Altera ist es so: Wenn du eine Soft-CPU verbaut hast, dann kannst du 
natürlich jede beliebige Speicherzelle, auf die die CPU Zugriff hat, 
manipulieren. Z.B. Variablen des angehaltenen Programms ändern usw..
Wie bei den Mikrocontrollern eben.

Autor: Hallbergmoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe keine Soft-CPU drin. Was den "user2" angeht: Der mit dem CDC 
integrierte Core steht auf "user1". Wenn ich den CoreGen nutze, um den 
VIO zu konfigurieren finde ich nichts mit JTAG. Nur beim ICON kann ich 
user1...user4 einstellen.

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallbergmoser schrieb:
> Nur beim ICON kann ich
> user1...user4 einstellen

Das ist richtig so. Du kannst bist zu vier ICONs ins System stecken. An 
die ICONs werden dann ILA oder VIO oder weiß der Geier was 
angeschlossen.
In dem Fall müßte die Einstellung mit User2 stimmen.
Darf man nur nicht verwechseln, weil es am BSCAN auch ein Signal Namens 
User2 gibt.

Duke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.