Hallo, nach einigen Jahren des Pausierens in der Elektonik möchte ich jetzt wieder ein Projekt starten. Da das mein erster Beitrag hier ist, hoffe ich das ich nicht zuviel verkehrt mache. Dazu möchte ich die XC9536 und XC9572 die ich mir besorgt hatte einsetzen. Ich habe mir dazu z.Zt. das ISE Webpack 8.1 installiert. Ich habe bisher schon Bauteile Plaziert, einen Bus incl. Bus TAPs gesetzt und auch I/O Marker. Woran es aber z.Zt. hapert ist: Ich habe 3 Schaltpläne: VIDEO.SCH, HORIZONTAL.SCH und VERTIKAL.SCH. Alle sind im gleichen Ordner gespeichert. Den Video.SCH habe ich als TOP Module gesetzt. Was muß ich tun damit er HORIZONTAL.SCH und VERTIKAL.SCH als SUB Module (?) setzt, er also beim übersetzen alle 3 berücksichtigt ? Irgendwie hatte ich es bei anderen Plänen schon einmal geschafft, bekomme das aber nichtg mehr repliziert. Ich habe schon nach einer Anleitung gesucht, aber scheinbar nicht mit den richtigen Schlüsselwörtern. Habt Ihr einen Tip, oder kennt Ihr gute Anleitungen ?
:
Bearbeitet durch User
Hallo, das funktioniert aber scheinbar nicht. Da passiert das gleiche wie bei add source. Der. SCH ist dann scheinbar kein "Unterplan" des anderen sondern wird parallel dazu dargestellt. Oder denke ich da irgendwie falsch? Bei meinem, wie auch immer geglückten" Zufall wurden die unterhalb (eingerückt) des Top Modules dargestellt. Und ich hatte bei "Add Symbol" das Projektverzeichnis aufgeführt bekommen und beim klicken darauf listete er HOR...SCH und VER...SCH auf.Bei Auswahl eines davon zeigte er mir ein Symbol mit all seinen I/O Markern auf. Er hatte den Schaltplan also irgendwie eingepackt, und beim Doppelklick darauf hat er den "Unterplan" geöffnet.
Ich habe eine andere Version, aber im Schaltplan geht das mit: Tools -> Create Symbol
Hallo Pegel, Perfekt :) Im 8.1 ist es der Symbol Wizard. Ich kann mich zwarf nicht entsinnen den benutzt zu haben, aber damit klappt es auch. Thx. Eine Frage noch: Ist es möglich sich wiederholende Schaltungen "mehrfach" zu nutzen, also 1x die Schaltung definieren und dann mehrfach zu benutzen, nur immer mit verschiedenen Signalen zu versehen? Oder geht das nicht?
:
Bearbeitet durch User
Ein SCH ist ein SCH und kein ISE-Projekt. Also leg einfach ein Projekt an. Da kannst du dann deine Toplevelinstanz festlegen und auch die anderen SCH-Files dazutun. Mindestens bei 10.1 (spaetere sowieso) ist das so.
Jörg H. schrieb: > nur immer mit verschiedenen Signalen zu versehen? Das verstehe ich nicht. Die Bezeichnung der Net Attribute innerhalb des Symbols ist die eine Sache und "draußen" liegen auch andere Netze an.
Damit meine ich z.B. Du definierst einen 10 Bit Zähler , und legstg von diesem dann ein Symbol an. Dann nimmst Du in einem anderen Schaltplan dieses Symbol 2x auf, JEtzt versorgst Du einen mit 50Hz und einen mit 75 Hz Clock. Nimmt er den 10Bit-Zähler dann zwei mal in dem Quellcode auf oder kommt dann ein Error?
:
Bearbeitet durch User
Ein Symbol ist ein Symbol. Du kannst auch ein AND Gatter Symbol fast beliebig oft einsetzen und beliebige Ein- und Ausgänge zuordnen.
Hallo Pegel, vielen Dank. Jetzt sollte ich eine ganze Ecke weiterkommen.
Noch ein Tip von mir: Lern VHDL oder Verilog. Die kleinen CPLD bekommt man zwar auch mit dem grusligen Schematic-Editor der ISE noch voll, aber mit einer Hochsprache ist man einfach wesentlich effektiver. Vor allem wenn man dann mal komplexere Logik beschreiben will. Wenn Du willst, kannst Du Deine Schematics hier mal einstellen. Der äquivlente VHDL-Code sind meist nur wenige Zeilen. Intern macht die ISE auch nichts anderes: Die Schematic werden erst nach VHDL (oder Verlig) übersetzt und dann an XST, den Synthesizer, verfüttert. Duke
Duke Scarring schrieb: > Noch ein Tip von mir: Lern VHDL oder Verilog. Das kann ich nur bekräftigen. Siehe den Klassiker: Beitrag "kruder Fehler bei FPGA-Programmierung (ISE WEBpack-Schematic)"
Duke Scarring schrieb: > Noch ein Tip von mir: Lern VHDL oder Verilog. Das werde ich wenn der Einstieg erfolgreich war auch tun, aber für den Anfang dachte ich erst einmal an Schematic, besonders da mir dann noch eine Unterlage bzgl. Aufbau, Syntax, Befehlssatz etc. bei VHDL/Verilog (incl. welches ist "besser") fehlt.
:
Bearbeitet durch User
Jörg H. schrieb: > bei VHDL/Verilog > (incl. welches ist "besser") fehlt. ... Vorsicht. So löst man unbedacht jahrhundertelange Glaubenskriege aus ;)
Markus F. schrieb: > jahrhundertelange Glaubenskriege Ich wollte nicht wieder ins dunkle Mittelaltger zurück, daher hatte ich es ja schon in "" gesetzt :) Bzgl. einer Buchempfehlung im anderen Thread habe ich mal die neue 7. Auflage "VHDL-Synthese" von Jürgen Reichardt und Bernd Schwarz bestellt. Soll Samstag kommen, da kommen bestimmt wieder Fragen auf^^
:
Bearbeitet durch User
Jörg H. schrieb: > Habt Ihr einen Tip, oder kennt Ihr gute Anleitungen ? Tips: 1. Einen Schaltplan machst du als "top". Dazu schreibst du dir ein .ucf File (ist plain text), wo du die Pin-Nummern deines Chips mit symbolischen Namen versiehst, die du als In- und Output's im Top-Schematic verwenden willst. Im .ucf kannst du auch noch andere Festlegungen treffen, siehe Doku der ISE. 2. Im top Schematic verwendest du für alle leitungen, die den Kontakt zur Außenwelt herstellen, Input- oder Output-Treiber (mit oder ohne Enable). Also nochmal: alles, was du dir an Logik ausdenkst, geht niemals direkt an die Außenwelt, sondern immer über I/O-Driver. 3. Wenn du dir eine Sub-Schaltung gemacht hast, dann mußt du dir davon auch ein Symbol machen. Dazu gibt's einen Symboleditor, der dir einiges an Arbeit abnimmt. Allerdings ist es mit den Symbol-Dimensionen ein Krampf bei der ISE, denn die sind eigentlich immer viel zu riesig und klobig. Wie groß du dir deine Symbole machst, ist letztlich deine Geschmackssache. 4. Wenn du eine Sub-Schaltung in einer anderen Schaltung benutzen willst, dann suche beim Plazieren nach dem zuvor von dir geschaffenen Symbol in deinem Projektverzeichnis. 5. Sieh zu, daß du dir ne neuere Version der ISE oder des Webpack's besorgst. Die 10 ist ganz in Ordnung und die jetzige (14.nochwas?) auch. Ist bloß unverschämt riesig. Ich habe jahrelang mit der 8.2 gearbeitet. Die ISE selbst funktioniert eigentlich, stürzt jedoch gern an den "unerwartetsten" Stellen ab. Obendrein hatte da mal jemand von Xilinx bei den Steuerdateien vom IMPACT herumeditiert, weswegen IMPACT bei manchen Chips partout nicht funktionieren will. Ich hatte damals diese Editierereien gesucht, gefunden und rückgängig gemacht und ab da ging alles wie erwartet. W.S.
Jörg H. schrieb: > Buch bestellt... > Soll Samstag kommen, da kommen bestimmt wieder Fragen auf^^ Sieh dir mal das da an: http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html
:
Bearbeitet durch Moderator
Duke Scarring schrieb: > Noch ein Tip von mir: Lern VHDL oder Verilog. Frage dich zuvor lieber, was der TO denn sonst noch so an Problemen um die Ohren hat. Sich in eine HDL hineinzustürzen, braucht Zeit und Nerven, die man erstmal übrig haben muß. Ein Elektroniker hat mit Schematics hingegen (trotz des gruseligen Editors) erstmal überhaupt keine Probleme, denn Stromlaufpläne sind für ihn ne Selbstverständlichkeit. Ich denke, der Weg, den der TO eingeschlagen hat, ist völlig richtig, denn er vermeidet unnötige Härten. Man kann durchaus mit einfachen Schematics anfangen, sich dann Symbole kreieren und die ISE daraus nen Rumpf für den Inhalt in VHDL oder Verilog machen lassen. Die eigentliche interne Funktionalität dieses Symbols kann man dann eben in einer HDL schreiben. So kann man mit einzelnen Funktionsblöcken anfangen, das hilft ungemein. W.S.
W.S. schrieb: > Man kann durchaus mit einfachen Schematics anfangen Ja kann man machen. Und nach Deinen Tipps zu urteilen hast Du auch einige Projekte mit Xilinx-Schematics gemacht. Ich auch. Und im nachhinein muß ich sagen: Schade um die viele sinnlos vertane Zeit. Daher mein Tip: Lern VHDL oder Verilog. Sinnvoller ist eher der RTL-Schmetics-View, um zu sehen wie ISE das Hochsprchenkonstrukt verstanden hat... Duke
Duke Scarring schrieb: > Ich auch. Und im nachhinein muß ich sagen: Schade um die viele sinnlos > vertane Zeit. Geht mir ganz anders. Im Nachhinein muß ich sagen, daß das genau das Richtige für mich war. Ohne Schematics hätte ich einige Geräte nicht realisieren können, weil mir für VHDL einfach die Zeit fehlt. Ich hätte das entweder auslagern müssen oder es hätte dafür jemand eingestellt werden müssen. Und wenn man erstmal einen Sack voll funktionabler Moduln (sprich Sub-Schematics) sich geschaffen hat, dann macht Schematics fast richtig Spaß. OK, der Editor ist nach wie vor lausig. Wahrscheinlich sind die Diskrepanzen in den Erfahrungen und Ansichten auf die ganz unterschiedlichen Berufsbilder zurückzuführen. Und wer von sowas wie Portabilität redet, der hat noch nie sich angeschaut, wie dramatisch unterschiedlich sowas wie FPGA's sind. Nicht nur zwischen verschiedenen Herstellern, sondern selbst innerhalb von Xilinx. W.S.
W.S. schrieb: > Und wer von sowas wie Portabilität redet, der hat noch nie sich > angeschaut, wie dramatisch unterschiedlich sowas wie FPGA's sind. Oh doch. Und wenn man im "Mainstream" unterwegs ist, dann ist "Portabilität" von Modulen eben durchaus realistisch. Ich habe jedenfalls keinem Bock, für jedes FPGA und jede Toolchain eine eigene SIO zu zeichnen und zu erproben. Also mache ich solche Module natürlich in VHDL. Bleibt am Schluß noch das bisschen Verdrahten im Toplevel, das dann nur noch ein Prozent der Geeamtarbeit aus. Dafür lerne ich doch keine zusätzliche (grafische) Programmiersprache, wenn es in VHDL gleich schnell geht... Denn ganz ohne HDL, also ausschließlich mit dem jeweiligen Schaltplaneditor der jeweiligen Toolchain, macht kein Mensch ein halbwegs zeitgemäßes Design in einem halbwegs geräumigeren FPGA.
Lothar M. schrieb: > macht kein Mensch ein halbwegs zeitgemäßes Design.. Also, nen UART oder so würde ich NIE, NIE, NIE in einem Fpga oder Cpld machen, für sowas gibt's µC. Bei mir wird nur das mit programmierbarer Logik gemacht, was ein µC eben nicht hergeben kann - und das ist IMMER extrem speziell - allerdings gibt es da auch Baugruppen, die man gut wiederverwenden kann. Aber das sind eben Baugruppen, die eben keinem der üblichen Peripheriecores eines µC entsprechen. Aber du scheinst von dir auf den Rest der Welt ("kein Mensch") zu schließen. Mach das lieber nicht, denn das geht schief. Ich hatte das ja weiter oben bereits beschrieben. W.S.
W.S. schrieb: > Also, nen UART oder so würde ich NIE, NIE, NIE in einem Fpga oder Cpld > machen, für sowas gibt's µC. Ja, mal angenommen, ich habe grade keinen uC am FPGA oder gar im ganzen Design. Die schnuckeligen MachXO mit dem internen Oszillator sind ideal für solche völlig uC-losen Schaltungen. Und der UART von meiner HP hat es der Userresonanz nach schon auf fast jedes FPGA geschafft. Soviel zum Thema Portierbarkeit. > Aber du scheinst von dir auf den Rest der Welt ("kein Mensch") zu > schließen. Du bestätigtst diese Regel als sprichwörtliche Ausnahme. Diese Schaltplaneingabe-Geschichten sind unnötig und führen in Sackgassen. Es ist ja nicht so, dass ich nicht damit gearbeitet und keine Toplevelpläne damit gemalt hätte. Aber mich in die Macken zweier Toolchains einzuarbeiten (erst X und dann L), das war dann doch zu viel.
Duke Scarring schrieb: > Wenn Du willst, kannst Du Deine Schematics hier mal einstellen. Das mach ich doch gerne. Anbei mal ein Teil davon (ist bestimmt noch nicht entgültig). W.S. schrieb: > Ich denke, der Weg, den der TO eingeschlagen hat, ist völlig richtig, > denn er vermeidet unnötige Härten. Danke für die Blumen. Ich stand bei der ISE ersteinmal sprichjwörtlich wie der Ochs vor dem Scheunentor :( Und ja, der Schematic Editor ist gelinde gesagt in einigen Teilen verbesserungswürdig. Bzgl. der ISE8.1: Ichj hatte mir auch zuerst 14.7 geladen, das scheitert auf meinem W7HomeX64 schon an der Installation. Außer einem hübschen grünen Quadrat mit Bild kam beim Start der Installation nichts. Die SSD langweilte sich, Prozessor schlief fast ein. Ich habe alles probiertz was mir einfiel (PC Neustart, Virenscanner komplett abschalten, als Admin ausführen). Aber nichts half.Auch nach 5 Minuten keine Änderung. Also 11.1 probiert, aber da habe ich am Anfang scheinbar zu schnell aufgegeben da ich keinen XC9536 oder XC9572 finden konnte. Daher bin ich zur Zeit auf 8.1 zurückgegangen. Wenn ich den beigefügten Plan "übersetzen" lasse kann ich ja scheinbar unter "View HDL Funtional Model" das VHDL Listing(?) sehen. Etwas unleserlich, aber erstmal was solls. Also Pflugs den Text kopiert. Dann dachte ich mir nehme ich mal den und schau mal was er damit macht. Aber daran scheitert es schon. Muß ich ein neues Project mit "Top-Level HDL Source Type" und dann als Source "VHDL Module" auswählen? Habe ich getan, und dann gerätselt. Wie starte ich da dann das Übersetzen (natürlich nach einfügen des kopierten Listings)? Lothar M. schrieb: > Sieh dir mal das da an: > http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html Habe ich aus reingesehen, und festgestellt da mir da noch viele ??? kommen. Z.B. Habe ich ja schon =.==,!= etc. gesehen. Aber <= war mir neu. Also habe ich mal gesucht und mir die VHDL Syntax Reference der University of Minnesota Duluth ausgedruckt. P.S. Ich sehe gerade das der 1. Versuch zu klein ist, setzte ich auch noch größer rein
:
Bearbeitet durch User
Jörg H. schrieb: > Wenn ich den beigefügten Plan "übersetzen" lasse Sehe ich das richtig und du gehst mit einem kombinatorischen Takt auf ein Flipflop? Das geht in einem CPLD oder FPGA garantiert eher früher als später schief, weil die Dinger nämlich pfeilschnell auf Glitches reagieren. Und von den 2 Flipflops wird wegen eines Glitches nur 1 getaktet oder ähnliche Effekte. Sowas geht dann auch überaus gern schief, wenn du an dieser Stelle gar nichts änderst, sondern ganz woanders und deshalb dieser "Takt" ein wenig anders geroutet wird... Jörg H. schrieb: > Habe ich aus reingesehen, und festgestellt da mir da noch viele ??? > kommen. Deshalb mein Link auf das Blinklicht, das Hello-World! der Hardware. Das musst du verstehen. Und das daraus abgeleitete Lauflicht. Dann sieht es schon besser aus. > Z.B. Habe ich ja schon =.==,!= etc. gesehen. Aber <= war mir neu. Ja klar. Dieser Vorgang wird "Lernen" genannt. Aber keine Sorge: du wirst das bald kennen, denn das ist eine Zuweisung an ein Signal.
Lothar M. schrieb: > Sehe ich das richtig und du gehst mit einem kombinatorischen Takt auf > ein Flipflop? Sry. das ich fragen muß, aber woher leitest Du das denn ab? Aus den Unterlagen entnehme ich das die CB2RE/CB4RE Counter positiv flankengetriggert sind. Und der HCLOCK wird mit 99.97% Wahrscheinlichkeit entweder direkt aus einem externen Quarzoszillator oder einem Schmitt-Triggger Ala 7414 gespeist werden. Lothar M. schrieb: > denn das ist eine Zuweisung an ein Signal. Das hatte ich in der angegebenen VHDL Syntax Reference gefunden.
:
Bearbeitet durch User
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.