hallO!
Ich möchte ein 6-Phasen PWM Modul bauen (ist zur Steurung einen
Multiphasenresonanzwandlers Halbbrücke)
Ich brauch also 12 Ausgänge. Jeweils zwei sollen gegenläufig zueinander
sein (zum halbbrücke Steuern).
Zwischen den Gegenläufigen Signalen soll die Deadtime (Zeit in der beide
PWM Ausgänge Null sind) einstellbar sein.
Das ganze 6 mal jedoch mit einer Phasenverschiebung von 60°. Und mit
einstellbarer Frequenz (von 90kHz bis 300kHz).
Mit einem 12-Bit Modul un minimal 90kHz hätte ich 1.32ns Auflösung was
reicht.
Hab dies bis jetzt immer mit einem dsPIC realisiert, doch hierfür ist er
nicht flexibel genug, bzw fehlen PWM Channels. Auch wenn es mit tricks
funktioniert ich möchts mit CPLD oder FPGA machen.
Ich hab FPGAs schon programmiert, in VHDL, ein Waveplayer.
Meine Grundfrage ist: Was eigent sich besser?
Ein FPGA oder CPLD?
Ein CPLD hat doch vorhersagbare Signallaufzeiten was beim FPGA nicht so
ist. Oder ist das bei dieser Anwendung egal?
Wäre es mit einem CPLD auch möglich einen digitalen Regelkreis mit zu
implementieren, also ADC einlesen ein paar MACs und PWM-Modul setzten?
MFG Sepp
Sepp schrieb:> Ein CPLD hat doch vorhersagbare Signallaufzeiten was beim FPGA nicht so> ist.
Die Zeiten sind nicht vorhersagbar. Es wird dir nur eine "schlimmste"
Zeit gesagt. Das kannst du bei einem FPGA auch haben.
> Oder ist das bei dieser Anwendung egal?
Eigentlich schon, denn du kannst einfach ein IO-Flipflop nehem, dann
kommen die Pulse schön synchron zueinandern.
> Meine Grundfrage ist: Was eigent sich besser?> Ein FPGA oder CPLD?
Nimm ein kleines FPGA (MachXO, Spartan3AN). Denn du brauchst ja noch
irgendeinen Bus, um da neue Werte reinzuschreiben...
Der MachXO2 hat m.W. auch PWM-Kanäle on Chip. Evtl. reichen die ja schon
aus...
Sepp schrieb:> Mit einem 12-Bit Modul un minimal 90kHz hätte ich 1.32ns Auflösung was> reicht.
Ähm, das wäre ein knappes dreiviertel Gigahertz...
Hast du da irgendwo ein paar Zehnerpotenzen unterschlagen?
So schnell brauchst du das Ding garantiert nicht!
>Ähm, das wäre ein knappes dreiviertel Gigahertz...>Hast du da irgendwo ein paar Zehnerpotenzen unterschlagen?>So schnell brauchst du das Ding garantiert nicht!
Damit ist die minimale Zeit gemeint die mit dem PWM Modul "verstellt"
werden kann. Die Frequenz des PWM Ausgangses ist wie gesagt max 300kHz.
War ein Anlehnung an einen dsPIC33 gedacht welcher mit seinem 12-Bit
Modul 1.04ns Auflösen kann.
>Die Zeiten sind nicht vorhersagbar. Es wird dir nur eine "schlimmste">Zeit gesagt. Das kannst du bei einem FPGA auch haben.>Nimm ein kleines FPGA (MachXO, Spartan3AN). Denn du brauchst ja noch>irgendeinen Bus, um da neue Werte reinzuschreiben...
Dh mittels FPGA wirds da keine Probleme geben? Hatte nur Angst, das sich
die Komplemetären Kanäle überschneiden (was die sofortige Zerstörung der
leistungselektronik zufolge hätte) können. Es wird immer ein minimale
Deadtime von 100ns zwischen den Transitionen herschen, eigentlich sollte
das für FPGA ja Null Probelem sein oder? Denn ob 95ns oder 105ns ist
egal.
>Denn du brauchst ja noch irgendeinen Bus, um da neue Werte >reinzuschreiben...
Richtig, da kommen wir zur nächsten Frage. Die Regelung erfolgt
ursprünglich mittels DSP (dsPIC). Bei 2-Phasen benutzte ich dessen
PWM-Modul.
Nun könnte ich die PWM-Daten mit der Reglerupdaterate an den FPGA
schicken. Doch so ein Spartan3AN wird mit der PWM generierung recht
unterfordert sein. Meinst du es wäre möglich, die regelung in den FPGA
zu inegrieren?
Er müsste zusätzlich 3 ADC Werte einlesen. Einen schnellen PID Regler
mit Feedforward rechnen und einen langsamen überlagerten I-Regler
(Current Sharing). Also nicht allzu kompliziert, zumindest was der dsPIC
nie überfordert.
Danke für deine Hinweise,
MFG Sepp
>War ein Anlehnung an einen dsPIC33 gedacht welcher mit seinem 12-Bit>Modul 1.04ns Auflösen kann.
12 Bit = 4096 Werte
bei PWM wird normalerweise hoch und runter gezählt als 4096 x 2 = 8192
Jeder Zähltakt soll nun 1.04ns etsprechen, also 8192 x 1.04ns=8.519µs
1/8.519µs=117.3KHz OK
dafür müßte nun der Takt des Zählers jedoch 1/1.04ns sein also 961.5MHz.
Die Counter im dsPIC sollen 961MHz können ?
Wirklich ?
Also ich glaube da sind die meißten FPGAs und CPLDs überfordert.
Uwe schrieb:> Die Counter im dsPIC sollen 961MHz können ?> Wirklich ?
Anscheinend ja...
> Also ich glaube da sind die meißten FPGAs und CPLDs überfordert.
Ja, das sind sie. Lustigerweise braucht das auch fast keiner...
Sepp schrieb:> War ein Anlehnung an einen dsPIC33 gedacht welcher mit seinem 12-Bit> Modul 1.04ns Auflösen kann.
Das schaft du mit einem "üblichen" CPLD nie und mit einem bezahlbaren
FPGA auch nicht. Wenn du genau wißt, was du machst, dann schaffst du mit
den billigen FPGA 200-300MHz. Und du mußt dir natürlich die Frage
stellen lassen: warum reicht anderen das aus, dir aber nicht?
> Doch so ein Spartan3AN wird mit der PWM generierung recht unterfordert> sein. Meinst du es wäre möglich, die regelung in den FPGA zu inegrieren?
Es ist schon möglich, aber das wirst du dir nicht wirklich antun
wollen. Denn das Debuggen macht da wesentlich weniger Spass... :-/
> Es wird immer ein minimale Deadtime von 100ns zwischen den Transitionen> herschen, eigentlich sollte das für FPGA ja Null Probelem sein oder?> Denn ob 95ns oder 105ns ist egal.
200MHz sind wie gesagt noch drin: da darf dann bei billigen FPGAs noch 1
Logikebene zwischen zwei FFs kommen...
Uwe Bonnes schrieb:> Mit den SERDER Funktionalitaet, z.B. beim XC6S wirst Du auf 960 MHz> kommen koennen.
Da kauft man dann aber einfacher einen 2. PIC...
Sepp schrieb:> Damit ist die minimale Zeit gemeint die mit dem PWM Modul "verstellt"> werden kann. Die Frequenz des PWM Ausgangses ist wie gesagt max 300kHz.> War ein Anlehnung an einen dsPIC33 gedacht welcher mit seinem 12-Bit> Modul 1.04ns Auflösen kann.
der dsPIC33 schafft diese Auflösung mit Hilfe von dedizierten
Hardwaredelays. Einem FPGA/CPLD fehlen diese Elemente.
Mit anderen Worten: die Highspeed PWM Module des dsPIC33 lassen sich
nicht einfach im FPGA nachbauen. (Ein Experte für eine FPGA Familie
schafft es vielleicht mit phasenverschobenen Clocks).
Mit herkömmlichen Counter basierende PWM Lösungen dürfte auf Virtex 7
eine Auflösung von 2 ns machbar sein. Mit preisgünstigen FPGAs sind 4 ns
machbar aber auch das ist schon eine Herausforderung für einen
Anfänger.(Clock = 250 MHz)
>Wenn du genau wißt, was du machst, dann schaffst du mit>den billigen FPGA 200-300MHz. Und du mußt dir natürlich die Frage>stellen lassen: warum reicht anderen das aus, dir aber nicht?
Ich dachte wenn es ein einfacher dsPIC, also ein 16-Bit µC mit etwas DSP
Befehlen schafft, kann es auch ein komplexerer und deutlich teurer FPGA.
Ich muss mir noch im klaren werden wieviel Auflösung ich in dieser
Anwendung wirklich brauche. Für einen Multiphasen Boost hab ich das
PWM-Modula des dsPIC definitiv schon ausgereizt (waren 11Bit mit
468kHz). Jetzt ist es etwas anders (Resonanzwandler).
>der dsPIC33 schafft diese Auflösung mit Hilfe von dedizierten>Hardwaredelays
Wie macht er das? Konfigurieren kann man auch nur PLLs, die Prescaler,
und PWM-Counter. Was meinst du?
Habe den dsPIC schon oft verwedet aber wie er die PWM Hardwaremäsig
erzeugt, darüber hab ich nie nachgedacht...
>bei PWM wird normalerweise hoch und runter gezählt als
1.04ns wird im center-aliged Mode nicht erreicht, nur im normalen
"Dreieck" Mode.
>Wenn du genau wißt, was du machst, dann schaffst du mit>den billigen FPGA 200-300MHz
Haben FPGAs keine PLL um einen hohen Synchronen Takt für nur einem
bestimmten Bereich zu generieren? So wie es viele µC für die PWM-Unit
tun?
>Einem FPGA/CPLD fehlen diese Elemente.>Mit anderen Worten: die Highspeed PWM Module des dsPIC33 lassen sich>nicht einfach im FPGA nachbauen.
Schade, dass heist ich muss die PWM-Anforderungen möglichst abspecken
damit sie FPGA tauglich werden.
Danke für die Inputs!
MFG Sepp
Sepp schrieb:>>der dsPIC33 schafft diese Auflösung mit Hilfe von dedizierten>>Hardwaredelays> Wie macht er das? Konfigurieren kann man auch nur PLLs, die Prescaler,> und PWM-Counter. Was meinst du?> Habe den dsPIC schon oft verwedet aber wie er die PWM Hardwaremäsig> erzeugt, darüber hab ich nie nachgedacht...
Dein Posting hat mich dazu veranlasst in das Datenblatt des dsPIC zu
schauen da ich die 1 GHz wie anderere auch etwas viel fand. Genau
erklärt ist das nicht. Aber was man entnemhen kann ist, dass die PWM mit
120 MHz getaktet wird, und es gibt eine Timingangabe Tap delay mit 1.04
nsec. Das hört sich für mich nach einem Delayelement mit Abgriffen alle
1.04 nsec zur Verlängerung des Ausgabepulses an.
>>>bei PWM wird normalerweise hoch und runter gezählt als> 1.04ns wird im center-aliged Mode nicht erreicht, nur im normalen> "Dreieck" Mode.
Im center-aligned Mode schafft der dsPIC auch nur 8 nsec Auflösung
(wermutlich direkt bedingt durch die 120 MHz).
Und das ist machbar im FPGA.
>>>Wenn du genau wißt, was du machst, dann schaffst du mit>>den billigen FPGA 200-300MHz> Haben FPGAs keine PLL um einen hohen Synchronen Takt für nur einem> bestimmten Bereich zu generieren? So wie es viele µC für die PWM-Unit> tun?
Doch schon, aber du musst ja auch die programierbare Logik damit takten
können. Und genau da liegen die Grenzen. Dedizierte HW Blöcke im FGPGA
(z.B. Serdes) können auch viel mehr.
>Aber was man entnemhen kann ist, dass die PWM mit>120 MHz getaktet wird, und es gibt eine Timingangabe Tap delay mit 1.04>nsec. Das hört sich für mich nach einem Delayelement mit Abgriffen alle>1.04 nsec zur Verlängerung des Ausgabepulses an.
Hab sie gut hinbekommen, wenn man bedenkt das dies ziemlich gut auch bei
der extrem kritschen deadtime einstellung funktioniert. DOch wie das mit
120Mhz Takt abläuft versteh ich gar nicht, Tatsache ist es funktioniert
sehr zuverlässig.
>Im center-aligned Mode schafft der dsPIC auch nur 8 nsec Auflösung>(wermutlich direkt bedingt durch die 120 MHz).
Ja. Hat noch nie gestört die hohe PWM-Frequenz wird meist bei
Converter-Topologien (Multiphasen-Buck als Beispiel) benötig wo
center-aligned nicht notwenig ist (im Gegensatz zu Invetern aller art)
>Doch schon, aber du musst ja auch die programierbare Logik damit takten>können. Und genau da liegen die Grenzen.
Das klingt verständlich
>Dedizierte HW Blöcke im FGPGA
(z.B. Serdes) können auch viel mehr.
Ich nehme an das haben nur die "Großen" teuren?
>auch nur 8 nsec Auflösung>(wermutlich direkt bedingt durch die 120 MHz).>Und das ist machbar im FPGA.
Alles klar, allso 8ns sind definitiv zb in einem Spartan 3AN machbar?
Oder anderer Vorschlag?
MFG Sepp
>> Ein CPLD hat doch vorhersagbare Signallaufzeiten was beim FPGA nicht so>> ist.>Die Zeiten sind nicht vorhersagbar. Es wird dir nur eine "schlimmste">Zeit gesagt. Das kannst du bei einem FPGA auch haben.
Ein CPLD hat den Vorteil, dass rel complexe Funktionen, auch nat.
Komparatoren, (weil sehr breite Eingänge der MAC-Zelle) mit nur einer
Logic-Ebene erzeugt werden können. Da ist die Laufzeit natürlich
errechenbar (bzw vorhersagbar). Und dann ist es evtl schneller möglich
als mit FPGA. (bsp Lattice hat CPLDs mit max 400MHz!)
>Und dann ist es evtl schneller möglich>als mit FPGA. (bsp Lattice hat CPLDs mit max 400MHz!)
Nehme an du meinst die ispmach4000 Serie?
Interessant das es da keine Einigkeit gibt womit man ein PWM Modul baut.
Mein Problem ist auch das ich nicht Abschätzen kann wieviele LUTs,
Makrozellen oder was auch immer ds brauchen wird.
Wenn 250MHz das maximum für FPGAs sind, wie macht man dan zb eine DDR2
oder 3 Interface? Kommen da SERDES ins Spiel?
Manche werben ja damit achte PLLs für 1Ghz zu haben, was macht man
damit?
Oder sind höhere Frequenzen möglich, wären aber für mein PWM-Modul
Maßloser Overkill?
In hab schon digitale Converter gesehen da war ein MachXO2 dabei. Was
ist das? wird auf der Lattice Website unter FPGA und CPLD geführt???
Nebenbei, kennt jemand empfehlenswerte Literatur zum Thema FPGA und
CPLD? WIe schon erwähnt, ich arbeite mit DSPs und µCs, VHDL hatte ich
auf der UNI mal gelernt, aber ich jetzt komm ich immer in Versuchung
einen Process zu generieren und µC mässig weiterzumachen...
Ich weis viele Fragen,,,
MFG Sepp
> Interessant das es da keine Einigkeit gibt womit man ein PWM Modul baut.> Mein Problem ist auch das ich nicht Abschätzen kann wieviele LUTs,> Makrozellen oder was auch immer ds brauchen wird.
Hier mal eine grobe Schätzung (für FPGA):
- Register für PWM: 6 PWM x 12 LE = 72 LE
- 1x Zähler mit 12 Bit: = 12 LE
- Zählerstand mit Register vergleichen (für LUT mit 4 Eingängen): (6 LUT
+ 2 LUT)x6= 48 LE
Zählerstand mit Register vergleichen braucht 3 Ebenen mit Kombinatorik.
Das wird eventuell zu langsam. Ansonsten vielleicht für jede PWM ein
Zähler der aus dem Register geladen wird?
Dann musst du die Register noch irgendwie beschreiben. Am einfachsten
dürfte das noch parallel funktionieren. Ansonsten müsstest du noch
Schieberegister für SPI o.ä. hinzurechnen.
> Wenn 250MHz das maximum für FPGAs sind, wie macht man dan zb eine DDR2> oder 3 Interface? Kommen da SERDES ins Spiel?
Es gibt seit einiger Zeit in FPGA extra I/O Blöcke für DDR. Du gibst 2
Bits und 2 Clocks hinein und das FPGA macht den Rest.
> Nebenbei, kennt jemand empfehlenswerte Literatur zum Thema FPGA und> CPLD? WIe schon erwähnt, ich arbeite mit DSPs und µCs, VHDL hatte ich> auf der UNI mal gelernt, aber ich jetzt komm ich immer in Versuchung> einen Process zu generieren und µC mässig weiterzumachen...
Bücher für FPGA:
Reichard/Schwarz
VHDL-Synthese
Kessel/Bartholomä
Entwurf von digitalen Schaltungen und Systemen mit HDLs und FPGAs
Sepp schrieb:> Interessant das es da keine Einigkeit gibt womit man ein PWM Modul baut.> Mein Problem ist auch das ich nicht Abschätzen kann wieviele LUTs,> Makrozellen oder was auch immer ds brauchen wird.>> Manche werben ja damit achte PLLs für 1Ghz zu haben, was macht man> damit?
Runterteilen :-)
Der Witz ist, dass ein onchip VCO mit 1 GHz leichter zu realisieren ist
als einer mit 100 MHz.
> In hab schon digitale Converter gesehen da war ein MachXO2 dabei. Was> ist das? wird auf der Lattice Website unter FPGA und CPLD geführt???
MachXO2 ist ein FPGA.
Lattice peilt mit diesem Prdoukt aber den CPLD Markt an, also wird es
auch unter CPLD aufgefuhrt.
Es hat auch einige wichtige CPLD Features:
Interner Config Speicher
Schneller Startup
Single Supply Versionen
Niedriger Stromverbrauch
Kleine Gehäuse ( das kleinste MachXO2 Gehäuse ist 2.5 x 2.5 mm )
Mehr als 250 Mhz geht schon z.B. mit Pipelining.
Nachtrag zum vorigen Posting.
Lattice User schrieb:> Mehr als 250 Mhz geht schon z.B. mit Pipelining.
Bezieht sich auf die Frage warum bei 250 MHz bei günstigen FPGs Schluss
ist, und nicht auf den MachXO2. Der kann das nicht.
Ich frage mich immer noch, warum man eine derartig schnelle PWM
braucht um
> ein 6-Phasen PWM Modul zur Steurung eines Multiphasenresonanzwandlers
zu realisieren...
Und ich meine wirklich brauchen, nicht wollen.
>Ich frage mich immer noch, warum man eine derartig schnelle PWM>braucht um
Ist doch nicht schnell. Gibt Resonanzwandler die bis in den Mhzbereich
arbeiten. Die Wandler die angesteuerten werden sollen arbeiten
Hauptsächlich in einem Frequenzbereich von 115kHz-160kHz, Im Leerlauf
bis zu 300kHz im Burst Mode. Im Boost-Mode, da geht die Frequenz bis
80kHz runter. Die Frequenz muss in 150Hz Schritten einstellbar umd auf
50mV genau zu Regeln. Damit wäre ich bei 10ns PWM-Auflösung.
Somit müsste ein FPGA/CPLD mit 100Mhz getaktet werden, was ja kein
Problem sein sollt. Glück das es 10ns SInd und nicht weniger. (die
1.04ns habe ich nur genannt, weil ich urprünglich dachte, das PWM-Modul
eines dsPIC33 nachbauen zu können, aber dies ist wohl unmöglich)
Um die Anforderungen zusammenzufassen:
Oben genannter Frequenzbereich mit 10ns Auflösung.
11-Bit PWM
6-Phase mit jeweils 2-Komplementären Ausgängen (also 12)
EInstellbare Deadtime
EInstellebare Phasenlage
Freqenz muss mit dem Reglertakt aktualisiert werden, soll also parallel
zu laden sein.
Sind jetzt genauere Angaben, vl kann mir jetzt jemand einen Konkreten
Tipp zu einem FPGA (oder nur CPLD) geben.
>Der Witz ist, dass ein onchip VCO mit 1 GHz leichter zu realisieren ist>als einer mit 100 MHz.
Weil die Kapazitäten dann kleiner sind?
Wenn 100 MHz reichen, würde ich einen MachXO2 ins Auge fassen.
Die update Logik braucht u.U. mehr Platz als die ganze PWM, dabei kann
es bei einem CPLD halt doch schnell eng werden.
Ausserdem kann man bei einem FPGA auch mal eben einen kleinen 8bit
Processor mit integrieren. Bei Lattice gibt es den Pico, kann man aber
nur in Assembler zu programmieren.
Lattice bietet momentan ein Devboard für ganze 29$ an:
http://www.latticesemi.com/products/developmenthardware/developmentkits/machxo2picokit.cfm
Da ist zwar eine ZE Version des MachXO2 bestückt, die eventuell zu
langsam ist aber zum Kennenlernen reichts allemal.
Ansonsten warum nicht einfach mal die freie Version der
Entwicklungssoftware des bevorzugten Herstellers herunterladen und das
ganze im Simulator durchspielen? Dann kannst du auch viel leichter
abschätzen wie gross der FPGA sein muss und ob es überhaupt
kostengünstig ist. Den dspPIC33 im Preis zu schlagen dürfte allerding
ziemlich unmöglich sein.
Sepp schrieb:> Die Frequenz muss in 150Hz Schritten einstellbar umd auf> 50mV genau zu Regeln.
Eine Frequenz in Volt?
> Damit wäre ich bei 10ns PWM-Auflösung. Somit müsste ein FPGA/CPLD mit> 100Mhz getaktet werden, was ja kein Problem sein sollt.
Kommt darauf an, was es dich kosten darf... ;-)
Wenn du die Anzahl der Logikebenen im FPGA auf 2-3 beschränkst, sollte
das aber problemlos gehen.
> Ist doch nicht schnell. Gibt Resonanzwandler die bis in den Mhzbereich> arbeiten.
Und die werden bisher eher analog angesteuert?
Lattice User schrieb:> Wenn 100 MHz reichen, würde ich einen MachXO2 ins Auge fassen.
Wenns schneller sein soll: der Vorgänger MachXO kann da deutlich mehr...
:-/
>Eine Frequenz in Volt?
Ist ja Resonanzwandler. Bei diesen wird üblicherweise mit der Frequenz
die Spannung verstellt, im Gegensatz zu konventionellen PWM-Konvertern.
In meinen Fall ist die Übertragungsfunktion des resonanten Netzwerks im
Regelbereich recht steil, deshalb maximal 150Hz Schritte.
>> Ist doch nicht schnell. Gibt Resonanzwandler die bis in den Mhzbereich>> arbeiten.>Und die werden bisher eher analog angesteuert?
Ja der Großteil analog, aber digital ist auch im kommen. Unter anderem
mit dsPIC33 und nur 8-9 Bit PWM.
>Ansonsten warum nicht einfach mal die freie Version der>Entwicklungssoftware des bevorzugten Herstellers herunterladen und das>ganze im Simulator durchspielen? Dann kannst du auch viel leichter>abschätzen wie gross der FPGA sein muss und ob es überhaupt>kostengünstig ist.
Gute Idee, werde ich demnächst machen. Allerdings habe ich noch keinen
bevorzugten Hersteller im PLD Bereich. Auf der Uni war es
Xilinx/Modelsim.
Gibt es da Tipps für einen fast neueinsteiger? Also Ob
Xilinx,Altera,Lattice? Oder nur Glaubensfrage...
Braucht Lattice Diamond auch einen extra Simulator wie die Modelsim?
>Den dspPIC33 im Preis zu schlagen dürfte allerding>ziemlich unmöglich sein.
Damit rechne ich auch nicht.
Die Regelung muss weiterhin ein DSP erledigen, also zwei Bausteine
(DSP+FPGA).
Altera bietet ja einigs in Bezug auf DSP. Mit dem DSP Builder kann man
Regler welche man in Simulink (was ich in jedem Projekt verwende)
Modeliert hat in einen HDL Code wandeln. Bedeuted dies, dass man dann
keinen (kostenfplichtigen) Softcore, wie zb NIOB II, braucht?
- Ich muss ADC Daten lesen
- einen PID-Regler berechen (also eine paar MACs)
- Das PWM-Register (Frequenz) Updaten
Das wäre in einem Cyclone I,II unterzubringen? Also ohne das ein
kompleter Soft-DSP laufen muss.
MFG Sepp
Lothar Miller schrieb:> Lattice User schrieb:>> Wenn 100 MHz reichen, würde ich einen MachXO2 ins Auge fassen.> Wenns schneller sein soll: der Vorgänger MachXO kann da deutlich mehr...> :-/
Etwa 10%, ist aber aus dem Datenblatt schwer zu vergleichen.
Beim MachXO2 muss man zwischen der ZE und den HC/HE Versionen
unterscheiden.
Die ZE eignen sich Batteriebetriebene Geräte.
Ich muss aber zugeben, dass ich weder mit MachXO oder MachXO2
Erfahrungen habe, meine Spielwiese ist die ECP3 Familie.
Sepp schrieb:> Gibt es da Tipps für einen fast neueinsteiger? Also Ob> Xilinx,Altera,Lattice? Oder nur Glaubensfrage...
Am ehesten findest du jemand, der mit Xilinx rummacht. Dafür gibt es
dann auch eher Literatur. Dann kommt naturgemäß Altera, und danach
Lattice...
> Braucht Lattice Diamond auch einen extra Simulator wie die Modelsim?
Da gibts den von Aldec dazu.
Sepp schrieb:> Braucht Lattice Diamond auch einen extra Simulator wie die Modelsim?
Lattice Diamond kommt mit dem Aldec Simulator, auch in der kostenlosen
Version. Aldec ist aber leider Windows only.
Externe Modelsim wird auch unterstützt.
Grössere FPGAs haben fast immer DSP Funktionen (Multiplier,MAC...), das
ist keine Domäne von Altera.
: >Dedizierte HW Blöcke im FGPGA
: (z.B. Serdes) können auch viel mehr.
: Ich nehme an das haben nur die "Großen" teuren?
Serdes gibt es auch bei den kleinsten XC6S, die es fuer unter 10 Euro
z.B. bei Digikey gibt.
Ich habe gerade gesehen, dass Lattice Diamond auch in der kostenlosen
Version mit Unterstützung für Matlab/Simulink kommt.
Das wird aber mit einem MachXO bzw MachXO2 nicht mehr gehen.
>Grössere FPGAs haben fast immer DSP Funktionen (Multiplier,MAC...), das>ist keine Domäne von Altera.
Naja ich brauch ja keinen großen. Auch wenn möglich keinen Softcore.
>Serdes gibt es auch bei den kleinsten XC6S, die es fuer unter 10 Euro>z.B. bei Digikey gibt.
Auch gut zu wissen. Aber Serdes sind wieder etwas spezielles und ich bin
froh ich konventionell zurecht komme.
Wie ist jetzt mit dem Altera DSP builder? Kennt das jemand? Baut dieses
Tool dann einen kostenpflichtigen Softcore oder einfach nur
Multiplizierer/Addierer usw.
MFG
Sepp schrieb:> Auch gut zu wissen. Aber Serdes sind wieder etwas spezielles und ich bin> froh ich konventionell zurecht komme.
Man sollte die Serdesfunktion der Xilinx normalen IOs nicht mit den GT
Serdes für PCIex, SATA etc verwechseln.
An den normalen Pins nennt man das auch Gearbox und ist heutzutage ein
ziemlich normales Feature, das übrigens auch der MachXO2 an einigen Pins
hat.
Mit ein wenig Übung ist das IMO für eine PWM gar nicht allzuschwer
auszunutzen.
>Ich habe gerade gesehen, dass Lattice Diamond auch in der kostenlosen>Version mit Unterstützung für Matlab/Simulink kommt.>Das wird aber mit einem MachXO bzw MachXO2 nicht mehr gehen.
Womit wäre es möglich? LatticeXP2?
hab hier: http://www.latticesemi.com/products/fpga/xp2/sysdspblock.cfm
gerade gelesen, dass dieser Multiplizierer und ganze MAC-Blöcke hat,
welche nicht erst synthetisiert werden, sondern als feste Hardware
vorhanden sind (im sysDSP-Block)?
>Mit ein wenig Übung ist das IMO für eine PWM gar nicht allzuschwer>auszunutzen.
Was wäre der Vorteil einer PWM mit SERDES oder Gearbox? wären 1.04ns wie
im dsPC33 zu erreichen?
MFG Sepp
Sepp schrieb:> Womit wäre es möglich? LatticeXP2?
Ja
> hab hier: http://www.latticesemi.com/products/fpga/xp2/sysdspblock.cfm> gerade gelesen, dass dieser Multiplizierer und ganze MAC-Blöcke hat,> welche nicht erst synthetisiert werden, sondern als feste Hardware> vorhanden sind (im sysDSP-Block)?
Ja
>>>Mit ein wenig Übung ist das IMO für eine PWM gar nicht allzuschwer>>auszunutzen.> Was wäre der Vorteil einer PWM mit SERDES oder Gearbox? wären 1.04ns wie> im dsPC33 zu erreichen?
Man könnte damit die Auflösung bei gegebenen Systemtakt nochmal
runtersetzen, mit einer 2:1 Gearbox bei 100 MHz von 10 auf 5 nsec.
Allerdings ist die Erzeugung etwas komplizierter. Übrigens macht der
dsPIC etwas sehr ähnliches.
Sepp schrieb:> Können die Hardware MACs mit der frei verfügbaren Lattice Toolchain> simuliert werde
Würde mich extrem wundern wenn das nicht ginge.
Es gibt nur eine Diamondversion. Der Unterschied liegt im Lizenzkey,
d.h. welche Devices freigeschaltet sind. Bei der kostenlosen Version
fehlen die Devices mit Highspeed Serdes für PCIexpress und dergleichen.