-
Thread
clock Generierung aus PWM Signal
Zahlen. Wenn das Eingangssignal schon jittert, was ist ann "absolut" genau? Ein Tipp: such hier im VHDL-Forum mal nach "Postulate".
Antwort! Aufgrund dieses Tipps: Lothar Miller schrieb im Beitrag #3867884: > Ein Tipp: such hier im VHDL-Forum mal nach "Postulate". lese ich bereits: Lothar Miller schrieb im Beitrag #3867926: > Zum Eintakten das da: > http://www.lothar-miller.de/s9y/categories/35-Einsynchronisieren Danke für
-
Thread
Taster - VHDL
Fatih F. schrieb im Beitrag #6671165: [vhdl] process if (falling_edge (buttonpress) ) then tick = '1'; else tick = '0'; end if; end process; [/vhdl] Wechselerkennung funktioniert in echter Hardware anders. Signal-Zuweisung
einsynchronisieren" und "Flankenerkennung". Und noch ein Tipp: such hier im FPGA-Forum nach "Postulate": https://www.mikrocontroller.net/search?query=postulate&forums%5B%5D=9&max_age=-&sort_by_date=1 Versuche, diese Postulate zu verstehen und beachte sie! Im Besonderen beachte die Stelle, wo steht
-
Thread
Process wird kontinuierlich durchloffen - Altium LiveDesign Board
case; end if; end if; END Process; -- Ausgabe hier weggelassen end Behavioral; [/vhdl]
Daniel Schindler schrieb im Beitrag #2940240: [vhdl] Process(usignal) BEGIN if(test = '1') then if (reset='0') then [/vhdl] Diese Sensitivliste ist unvollständig --> die Simulation passt nicht zur Realität... :-o > Nach einigem Stöbern
-
Thread
Einige Fragen zu VHDL
VHDL" Es ist müßig, diese Grundlagenfragen zu beantworten, denn du hast noch gar keinen Plan von VHDL (das ist nicht nicht böse gemeint), deshalb könntest du mit irgendwelchen Antworten nichts anfangen
Ich vergaß zu erwähnen: Im den ersten paar Monaten deiner VHDL-Karriere brauchst du *keine Variablen und keine Schleifen*.
-
Thread
4, bzw. 16 verschiedene Zufallszahlen
Das hier ist mehrfach kritisch: [vhdl] if (btnC = '0') then [/vhdl] 1. Tasterprellen (unschön) http://www.lothar-miller.de/s9y/categories/18-Flankenerkennung http://www.lothar-miller.de/s9y/categories/5-Entprellung 2. nicht synchronisierter
ist das Buch von Reichardt/Schwarz (VHDL-Synthese). Und auf Lothars Seite findest du sehr viele Beispiele, wie man Problemstellungen mit VHDL geschickt angeht, und welche beliebten Fehler man unbedingt vermeiden sollte. Wenn ich mich richtig
-
Thread
RS232 Daten Empfangen, Vergleichen, auf Monitor ausgeben (SPARTAN 3)
Uart wieder raussenden. Hast ja schon alle Kabel dran. Wie das Timing für einen VGA-Monitor in VHDL aus sieht habe ich auf meiner Homepage. Auch mit Simulation testbench. http://www.dossmatik.de/vhdl.html
Tipp: such im Forum hier mal nach Postulate und denk drüber nach. http://www.mikrocontroller.net/topic/197296 Insbesondere über das erste Postulat, das jedes Anfängerdesign genau 1 Takt hat. Und selbst ein Profi versucht möglichst nahe
-
Thread
numeric_std verwenden sehe ich ein. Konkret
Default-Zuweisung erreichen, dass das Register im Power-Up-Fall den richtigen Wert annimmt, also mit [vhdl] signal ls_richtiger_ini_wert_bei_X : std_logic := '0'; [/vhdl] VG, SuperWilly
>Das war keine Argumentation sondern ein Postulat Ceterum censeo Carthaginem esse delendam ;O) Gruß, SuperWilly
-
Thread
DE0-Nano Board mit Ausgang von externen Sensoren anschließen (optischer Sensor)
. Warum legst Du die Ausgänge an denen die LEDs nicht leuchten sollen nicht einfach auf '0': [vhdl] LED2 <= '0'; LED3 <= '0'; LED4 <= '0'; LED5 <= '0'; LED6 <= '0'; LED7 <= '0'; [/vhdl] Duke
mir erst noch aneignen. Kann jemand ne schön leicht verdauliche Literatur zum einstiegt in die VHDL Programmierung mittels Quartus II empfehlen? Oder eine generelle Literatur zum Thema VHDL? Viele Grüße
-
Thread
Probleme mit einfachem VHDL-Modul
nichts anfangen kann. Was habe ich getan? Ich habe ein Modul mit folgender Entity erstellt: [VHDL] entity mod27 is Port ( C : in STD_LOGIC; testClock : in STD_LOGIC; Bits : out STD_LOGIC_VECTOR (4 downto 0)); end mod27; [/VHDL] Das Modul soll lediglich die Clock
In der Simulation funktioniert alles wunderbar. Das zugehörige UCF-File sieht wie folgt aus: [VHDL] NET "C" LOC = "B8"; NET "Bits<0>" LOC = "J14"; NET "Bits<1>" LOC = "J15"; NET "Bits<2>" LOC = "K15"; NET "Bits<3>" LOC = "K14"; NET "Bits<4>" LOC = "E16"; [/VHDL] ------------------------
-
Thread
Wie schwer ist VHDL und FPGA zu erlernen?
Operator - Rechne niemals mit uneingeschränkten (std_logic) Vektoren Und dann das, was ich "meine Postulate" nenne (einfach hier im Forum mal danach suchen). Siehe zum Thema "VHDL ist geschwätzig und umständlich" das da und den darin verlinkten Thread: http://www.lothar-miller.de/s9y/archives/88-VHDL-vs
https://www.doulos.com/knowhow/vhdl_designers_guide/a_brief_history_of_vhdl/
-
Thread
in VHDL 50MHz auf 2 Mhz runterteilen?
Suche mit den Begriffen "Anfänger Postulate" hier im Forum: http://www.mikrocontroller.net/search?query=anf%C3%A4nger+postulate&forums[]=9&max_age=-&sort_by_date=1
Pulsweite herauskommt. Dafür gibt es dann Assertions und Text-IO und den ganzen Sprachumfang von VHDL...
-
Thread
VHDL Freeware (LGPL) Synthese Werkzeug
Alexander Kiebler schrieb im Beitrag #2317957: > gutes VHDL-Synthese-Werkzeug. Also keinen Simulator, Decius schrieb im Beitrag #2318270: > der Opensource VHDL-Compiler GHDL Wie war das noch mal? Zitat aus http://packages.debian.org/de/squeeze/ghdl
kann nicht alles statisch machen. Darum geht es nicht. Es geht darum das damit so gut wie *alle* VHDL-Anfänger auf die Nase fallen. Jeder hat vorher schonmal Software gemacht und das Verhalten von Signalen und Variablen ist in VHDL nun mal komplett anders. Wenn man sich erstmal auf die Signale konzentriet
-
Thread
Parallel oder sequenziell
@ VHDL Anfänger Es gibt mir ein wenig zu denken, dass hier ein /next_state/ in einer Ein-Prozess-Beschreibung auftaucht: [vhdl] if (sck'event and (sck='1') then : NextState <= S1; [/vhdl]
VHDL Anfänger schrieb im Beitrag #2667859: > ist eine Schreibweise zu empfehlen? Such mal hier im Forum nach meinen Postulaten... Die Zusammenfassung: es gibt in einen (Anfänger-)Design nur 1 Takt, das
-
Thread
2 Phasen Takt, Wegimpulsverzögerung
Fehlermeldungen? BTW: mit den pasenden Tags wird der Code schön formatiert. Probiers mal aus: [pre] [vhdl] dein VHDL-Code [/vhdl] [/pre]
Fehlermeldung. > BTW: mit den pasenden Tags wird der Code schön formatiert. > Probiers mal aus:[vhdl] > dein VHDL-Code > [/vhdl] Merci für die ganze Hilfe :-)
-
Thread
Verständnissproblem sequeziell/parallel
Taster auf meinem Entwicklungsbord) > ... > wait until rising_edge(t); Aua... Such mal nach "Postulate" hier im VHDL-Forum... Ok, die Karten werden neu gemischt: spinne schrieb im Beitrag #3285911: [vhdl] architecture Behave of MUL is signal b : std_logic; begin process begin
meinem Entwicklungsbord) >> ... >> wait until rising_edge(t); > Aua... > Such mal nach "Postulate" hier im VHDL-Forum... Da wird wahrscheinlich das "Einsynchronisieren" gemeint? Aber ich habe gar kein anderen Taktsignal. Oder liegt mein Fehler woanders?..
-
Thread
iCEstick/VHDL
Hab' mir den iCEstick von Lattice besorgt, um damit VHDL zu erlernen. Ich hab' zunächst mal ein lauffähiges, einfaches Beispiel in VHDL für den iCEstick vermisst (anscheinend stellt Lattice nur Beispiele in Verilog für den iCEstick zur Verfügung) und jetzt
Beispiel hier zum Thema "don't care" = '-': [pre] One definite drawback of using don’t cares in your VHDL code is that some synthesizers and some simulators often times do not handle them correctly. Most VHDL-type textbooks recommend not to use don’t care symbols in your VHDL models, so beware. [/pre
-
Thread
kruder Fehler bei FPGA-Programmierung (ISE WEBpack-Schematic)
posten. :D Eine Frage hätte ich noch. Wir wollen noch 4-Bit-Busse zum Setzen der Werte verwenden. [vhdl]Port (signal set_s1 : in unsigned(3 downto 0));[/vhdl] Reicht es da aus, einfach auf diese Busse zu reagieren? [vhdl]Set: process (set_s1) begin[/vhdl] Oder brauchen wir noch ein enable-Wire? (set_s1
ganze Design /synchron/ machst, hat in der Sensitivliste nur der Takt was zu suchen. Such mal nach "VHDL Postulate" hier im Forum... ;-) https://www.mikrocontroller.net/search?query=vhdl+postulate Und leih dir mal die Bücher da aus: https://www.mikrocontroller.net/topic/221103#2213592
-
Thread
-
Thread
Frage zur Erstellung eines VHDL - Codes
soviel gegoogelt, aber ich finde keine Erklärung dafür.. Sieh dir einfach mal hier im Forum alle die VHDL-Threads durch, wo du das Wort "Anfänger" oder "Postulate" findest... ;-) Christian Knabe schrieb im Beitrag #2719907: > Handelt es sich dabei denn um einen FlipFlop o. Ä.? Bei Xilinx ist das ein
nicht ;) Ein großer Schrit ist schon einmal, wenn du den Takt korrekt beschreibst. Also anstelle [vhdl] C='1' [/vhdl] wäre [vhdl] rising_edge(C) [/vhdl] zu schreiben. Die erste Beschreibung sagt: solange das Signal C '1' ist, dann übernehme D nach Q, das ist wie Lothar schon sagte ein Latch und hat
-
Thread
Unterschied zwischen übergabe nach Name und Übergabe nach Position
, ODD); K3 : ZWEI_BIT_PARITY portmap (C(1), A(3), GERADE, UNGERADE); end architecture; [/vhdl]
Notfallseelsorge schrieb im Beitrag #7136970: > a)..... und > b)..... Muss man halt einfach so als Postulat hinnehmen. Ich sag meinen Praktikanten immer: "mach mal eine VHDL-Beschreibung davon", er kapiert dann, was ich meine und programmiert frohgemut drauflos und zeigt mir stolz sein Programm, wenn
-
Thread
Mehrfache Instanziierung ein Komponente
Gefahr gesagt? Wichtig (ganz wichtig!) ist aber, dass dir klar ist: >>>> VHDL ist nicht FPGA! <<<< In einem VHDL Kurs kannst du vieles lernen, was VHDL kann. Und vieles davon kannst du oder darfst niemals in einem FPGA umsetzen. Ich schreibe dir eine geläufige VHDL-Zeile, die kein Synthesizer auf ein FPGA bekommt: [vhdl] wait for 1 ms; [/vhdl] EDIT: zu spät abgeschickt... :-(
-
Thread
Counter in 2 Process
Hallo, ich übe mich gerade in VHDL und habe ein Problem was ich nicht verstehe. Ich möchte einen count in 2 Process hoch zählen und da bekomme ich immer einen fehler. Könnte mir jmd einen Tipp geben wäre nett [vhdl] signal count
https://github.com/chkrr00k/sram-controller/blob/master/sram.vhd ahhh jetzt sehe ich es --> [vhdl .]VHDL-Code[/vhdl .] mfg Schuby
-
Thread
Counter Problem
[vhdl] if aufwaerts then zaehler2 <= zaehler2 + 1; else zaehler2 <= zaehler2 - 1; end if; zaehler <= "000000000000000"; [/vhdl] Wofür
hintereinander. Das ist also eher ein Zufallsgenerator... :-) Zusammenfassend nochmal meine Postulate für den geneigten VHDL-Anfänger: [pre] Ein Design (insbesondere ein Anfängerdesign) hat genau 1 Takt, der immer auf dieselbe Flanke aktiv ist. Es gibt keinen (und schon gar keinen asynchronen
-
Thread
VHDL - For-Schleife
not(button_control); end if; end loop; end if; end process; [/vhdl]
Synthese mit /wait until/ nur Flanken auswerten... Das hier könnte z.B. leicht Probleme machen: [vhdl] wait until a='0' and b='1' and cnt=1200; [/vhdl]
-
Thread
Verständnisfrage Prozess
Lothar Miller schrieb im Beitrag #2033881: > Sieh dir den Beitrag "vhdl-richtlinien f. synthese?" mal an. oder ein paar Grundlagen [[VHDL]]
zähler <= zähler + 1; > end if; > end if; > end process; > [/vhdl]
-
Thread
process innerhalb eines prozesses starten
da an: http://www.lothar-miller.de/s9y/archives/61-Lauflicht.html Such mal hier im Forum nach "VHDL Postulate", du wirst ein paar solche Anfängerthreads finden...
kombinatorische Schleifen/Zähler bauen? Meine (getakteten) Prozesse sehen üblicherweise so aus: [vhdl] process begin wait until rising_edge(clk); : end process; [/vhdl] Der Vorteil: keine fehlerhafte Sensitivliste möglich. Ok, VHDL2008 gibts auch... ;-)
-
Thread
FPGA Programmieren
Julian Franz schrieb im Beitrag #3687518: [VHDL] > blinker_o <= cnt_r; > blinker_oo<= not cnt_f; [/VHDL] Wie soll das funktionieren? Du weist einen 23 bit lange Vektor einem Bit zu.
nicht gleich einen Integer als Zähler und warum nicht die numeric_std? Such hier im Forum mal nach VHDL und Postulate, da dürfte schon mal das meiste drinstehen, was ein Anfänger beachten muss. Und dann wären da noch ein paar Eckdaten interessant: welche Eingangsfrequenz? Welche Taktfrequenz und welche
-
Thread
Anfängerfrage: Laufzeit von Prozessbefehlen
anderes ab? > Ja, als Simulations- und Anfängerkrücke :) Wobei das ganze IMHO eher > verwirrt. VHDL für Simulation verwendet Funktionen, die VHDL für > Synthese nicht unterstützt! Im Grunde ist es ganz anders: VHDL ist eine Simulationssprache, mit der man Hardware simuliert und verifiziert, wobei
Übrigens beschreibt Lothar einen synchronen Prozess (der reagiert also nur auf den Clock) gern so: [vhdl] process begin wait until rising_edge(clk); ... end process; [/vhdl] Gebräuchlicher ist: [vhdl] process(clk) begin if rising_edge(clk) then ... end if; end process; [/vhdl
-
Thread
EA DOG-M initialisieren
muss, und dazwischen immer ein bisschen warten, aber irgendwie fidne ich da keinen start um es in VHDL zu realisieren. Wenn einer so etwas schon in VHDL hat und es verständlich ist, fänd ichdas toll. Danke !!!
Ohne jetzt den ganzen Code angeschaut zu haben: [vhdl] : rising_edge (clock) : rising_edge (delay) : [/vhdl] So macht man das nicht. Hier nochmal meine Postulate für Anfänger: Es gibt nur 1 Takt im Design. Es wird nur 1 Flanke dieses Takts
-
Thread
Frequency divider Ausgang als Clock
end if; end if; end process; outClk <= clkState1 XOR clkState2; end Behavioral; [/vhdl]
.. [vhdl] outClk <= clkState1 XOR clkState2; [/vhdl] Aua, ein Takt aus einer kombinatorische Verknüpfung. Das kann gern mal Glitches geben! Du solltst einen Takt für (externe) Komponenten nicht aus
-
Thread
Timer asynchron setzten
Ich vermute, dass es mit dem Pulsprinzip besser geht. Der entscheidende Punkt ist der: [vhdl] process begin wait until rising_edge(clk); if (pulse_ms='1') then speakerSignal <= not speakerSignal; end if; end process; [/vhdl] Getaktet wird mit der vollen Systemfrequenz
der für die Verhaltenssimulation bestimmt ist, vorsorglich eine Laufzeit einzubauen. Sowas also: [vhdl] process (clk) begin if rising_edg(clk) then Ausgang <= Eingang after 10ns; end if; end process; [/vhdl] Das hatten wir letzthin im https://www.mikrocontroller.net
-
Thread
Zustand von halbiertem Takt abfragen: Setup/Hold okay?
150MHz-Takt? Warum verwendest du nicht den 75MHz-Takt direkt? Ich würde dein Beispiel so schreiben: [vhdl] flipflop <= clk75; [/vhdl] Ach, so hattest du das nicht gemeint? Was fehlt dann an deinem Beispiel, damit man dein Problem nachvollziehen könnte? [vhdl] process(Clk75) begin if rising_edge
: [vhdl] if rising_edge(Clk75) then ... elsif falling_edge(Clk75) then ... end if; [/vhdl] Und der Witz: das geht sogar, wenn man weiß, was dabei erlaubt ist... ;-) Das hatten wir letzhin im
-
Thread
Pinbelegung?!
0'; end if; end if; end process; Servo<= ServoTakt; end ServoPuls; [/vhdl]
Regel 1: Der Clock ist heilig. [vhdl] process (Takt10u) begin if (Takt10u='1' and Takt10u'event) then [/vhdl] daraus mach mal ganz schnell: [vhdl] process (clkM) begin if rising_edge(clkM) then if Takt10u
-
Thread
Select auf fallende und steigende Flanke
Markus W. schrieb im Beitrag #5401284: > Simulationsmässig geht es. Das ist der Trick an VHDL: in der Simualtion kannst du alles machen. Umsetzbar in reale Hardware sind dagegen bestenfalls 10% (oder eher nur 5%) der VHDL-Sprachkonstrukte. Welche in Hardware abgebildet werden können, das steht
... when others => -- keine Flanke null; end case; end process; [/vhdl]
-
Thread
vhdl: signalinitialisierung funktioniert nicht
danny w. schrieb im Beitrag #2336534: [vhdl] process(drehzahl) -- wenn sich drehzahl ändert, wird teiler verhätlnis über for-schleife neu berechnet [/vhdl] Dass du dich da mal nicht täuschst. Was meinst du, wie dieser Prozess umgesetzt wird
dass der Vergleicher 256 mal parallel abgebildet wird. Du hast deinen Prof falsch verstanden. C und VHDL sind was völlig anderes. In VHDL beschreibst du nur Logik-Elemente und FlipFlops.
-
Thread
ClockDivider nicht synthetisierbar (VHDL/FPGA Anfänger)
Interessant, es liegt an dem "unglücklichen" elsif. Damit gehts: [vhdl] if counter = 0 then clk_en <= '1'; else clk_en <= '0'; end if; [/vhdl] Damit gehts nicht: [vhdl] if counter = 0 then clk_en <= '1'; else counter
Mist, meinte natürlich: [vhdl] if counter = 0 then clk_en <= '1'; elsif counter = 1 then clk_en <= '0'; end if; [/vhdl]
-
Thread
Fehler: kann ihn als Anfänger nicht verstehen
treten zu wollen, so habe ich den Eindruck, dass Du noch nicht ganz verstanden hast was ein Prozess in VHDL beschreibt. Aus der Sicht des Softwerkers sieht das so aus als würden hier die Befehle in dem Prozess nacheinander abgearbeitet. Dem ist aber nicht so. Wenn man in einem Prozess den Konstrukt [vhdl
,clk1s, clk500ms) : [/vhdl] Als Tipp: leih dir mal das Buch "VHDL-Synthese" aus....
-
Thread
UART-Transmitter in VHDL
tick <= '0'; end if; end if; end if; end Process; end Behavioral; [/vhdl] und hier der Code für den Transmitter [vhdl] entity Transmitter is Port ( din : in std_logic_vector (7 downto 0); send : in STD_LOGIC; clk : in STD_LOGIC;
state <= Warte; end if; end case; end if; end process; end architecture; [/vhdl] und die Gesamtschaltung: [vhdl] entity UART_Transmitter is Port ( din : in std_logic_vector (7 downto 0); send : in STD_LOGIC; clk : in STD_LOGIC;
-
Thread
Drehrichtungserkennung
Ton0500 übergeben Ton1000 <= y; -- Signal y an Ton1000 übergeben end Behavioral; [/vhdl]
falling_edge (takt10hzpb) then t10hzpb1<=not t10hzpb1; end if; Such mal nach "Postulate" hier im Forum. Eines davon ist: nur 1 Takt im ganzen Design. Und jede Missachtung eines der anderen Postulate führt ebenfalls zu Fehlern, die eine Simulation nicht findet...
-
Thread
Counter mit Taster - Map fehlermeldung
? Ja. Nur so kann ein Design von den Tools sinnvoll verwaltet werden... Hier nochmal meine Postulate für FPGA-Anfänger: [vhdl] Ein Design (insbesondere ein Anfängerdesign) hat genau 1 Takt, der immer auf dieselbe Flanke aktiv ist. Es gibt keinen (und schon gar keinen asynchronen) Reset. Externe
Flipflops einsynchronisiert. Jede Abweichung von diesen Regeln muß fundiert begründet werden können. [/vhdl]
-
Thread
Fehler während Synthese -> Place:1108 (ISE)
/categories/42-RS232 in der Zeile: [vhdl] if (rxd_sr(3 downto 2) = "10") then -- fallende Flanke Startbit [/vhdl] gemacht wird. Siehe dazu http://www.lothar-miller.de/s9y/categories/18-Flankenerkennung http://www.lothar-miller.de
erstmal auffällt, ist dass Deine lösung zum > RS232-senden/-empfangen ungefähr ein 10-tel von meinem VHDL code ist. > Auch die Flankenerkennung habe ich umständlich über 2 processe gelöst > (einen für steigend und einen für fallend). Das ist es, was VHDL etwas zu Unrecht in den Verruf bringt, eine
-
Thread
FPGA Diode ansteuern
: http://www.lothar-miller.de/s9y/archives/16-Takt-im-Prozess.html BTW2: ein "after" in einer VHDL-Beschreibung für die Synthese ist sinnlos und verwirrend BTW3: ich wiederhole an dieser Stelle mal gleich das Postulat für Anfänger: Ein Design hat genau 1 Takt, der immer auf die selbe Flanke reagiert
sind immer "aktiv". Mein schlimmer Verdacht: Deine Vorstellungen von der Hardwarebeschreibung (VHDL ist keine Programmiersprache!) sind noch grundlegend falsch... BTW: VHDL Code bitte als *.vhd Datei anhängen. Dann gibts Syntaxhighlighting gratis.
-
Thread
Ein wirklich blöder Fehler, den ich nicht sehe
falsch.png) - Quartus sieht keinen Grund, den out-Port irgendwie zu bespassen. Macht man aus [vhdl] led(counter) <= '1'; [/vhdl] [vhdl] led <= std_logic_vector(unsigned'("00000001") sll counter mod 8); [/vhdl] (weist also alle Elemente des out-Ports zu, kommt das richtige raus (richtig.png
paar ganz klassische Anfängerfehler zum "Selber nachmachen" finden will, der sucht einfach nach "Postulate": https://www.mikrocontroller.net/search?query=Postulate&forums%5B%5D=9 Lutz Locus schrieb im Beitrag #7292879: > weil Doppelminus ja grade bei VHDL eine kommentarzeile einleitet .. Dagegen
-
Thread
Uart in Vhdl -- Anfänger
Moin, ich versuche seit zwei Tagen in VHDL eine UART zu entwickeln ( nur Daten empfangen ). Bin ein Anfänger in sachen FPGA und VHDL. Ich habe nun den untenstehenden Code geschrieben und in Modelsim getestet wo er wunderbar funktioniert.
---- end if; end process; Data <= RX_reg; run <= start; end Behavioral; [/vhdl] mfg
-
Thread
ADCS7476 Timingprobleme
Flanke sein. Das Problem ist jetzt, wenn ich einen Prozess schreibe dann muss ich die Daten bei [vhdl]falling_edge(clock)[/vhdl] einlesen. Aber wie setzte ich CS auf low? Denn wenn das auch bei einer fallenden Flanke gemacht wird, dann ist die erste Flanke nach dem Chipenable eine fallende. Hat da
braucht? Sieh dir mal den http://www.mikrocontroller.net/topic/197296 an. Die dort festgelegten Postulate gelten auch für dich... ;-)
-
Thread
vhdl-richtlinien f. synthese?
/categories/35-Einsynchronisieren Für Xilinx gibts den XST User Guide, in dem synthetisierbare VHDL-Beschreibungen definiert sind.
Für Xilimx gibt es die XST User Guide, dort steht drinnen welche VHDL Konstrukte unterstützt werden. Ansonsten gibt es die allgemeine Norm IEEE 1076.6, welche Konstrukte definiert, die ein VHDL Compiler für die RTL Umsetzung beherrschen soll.
-
Thread
VHDL, DFC77, riesen Problem!
Bevor ich es vergesse: [VHDL] if(timer_hh > 5) then sync <= '1'; else sync <= '0'; end if;[/VHDL] Hier kommt es zum gleichen Problem, sobald ich diesen Code UNTER den anderen, funktionierenden, schiebe
sync <= '1'; else sync <= '0'; end if; end process; end verhalten; [/VHDL]
-
Thread
Drehgeber (rotary encoder) - VHDL
Also der zeitliche Ablauf wie ich das bisher glaubte verstanden zu haben: [vhdl]wait until rising_edge(clk);[/vhdl] Es wird auf die steigende Taktflanke gewartet. [vhdl]if count0 < 255 and encin(0) = '1' then elsif count0 > 0 and encin(0) = '0' then end if;[/vhdl
if Bedingung, das ist ja Bool, auch zu anderen Zeiten als zur steigenden Flanke? Obwohl ich ja [vhdl]wait until rising_edge(clk);[/vhdl] geschrieben hatte?
-
Thread
Countdown-Zähler mit anschließender Tonausgabe
Und kaum zu glauben: jeder einzelne Fehler wurde gemacht und sehr oft gemacht... Zum Takt: [vhdl] elsif rising_edge(takt) then : elsif( rising_edge(co_e)and ZUSTAND = B) then : elsif rising_edge(entprell_clk) then [/vhdl] Asynchrones und sogar kombinatorisches
, dann könnte man einfach da draus hierher kopieren. Das Problem ist eigentlich, dass alles über VHDL schon geschrieben wurde. Und das bisschen, das im Zusammenhang von VHDL mit FPGAs zu beachten ist, das passt locker auf ein Faltblatt... > an die Multiplikatoren ... verteilen. An welche?
-
Thread
8-Bit CPU Selbstbau
Und wie willst du es umsetzen? Mit diskreten Logik-Bausteinen a la 74XX-Reihe oder per FPGA und VHDL?
alle die Anfängerfehler in deinem Zieldesign drin. BTW: such mal nach meinen "Postulaten für Anfänger" im VHDL Forum. In diesen Threads kannst du all die Fehler der anderen Anfänger finden, die du auch machen wirst. - https://www.mikrocontroller.net/search?query=Postulate&forums%