Ich habe einen HDL-Code geschrieben, um die Frequenz des Takts auf FPGA (100 MHz) in eine Frequenz umzuwandeln, die mit meinem VGA-Monitor (65 MHz) kompatibel ist:
reg FLAG = 0;
reg [26:0]count;
always@(posedge clock)
begin
if(reset)
count <= 'd0;
else if(count==65000000)
begin
FLAG = 1;
count <= 'd0;
end
else
begin
count <= count+1;
FLAG=0;
end
end
Der Wert des Flags würde sich bei einer Frequenz von 65 MHz ständig von 0 auf 1 ändern, aber das funktioniert anscheinend nicht für mich. Kann hier jemand auf den Fehler hinweisen? Gibt es auch eine bessere Möglichkeit, eine Taktfrequenz in eine andere umzuwandeln?
Dazu müssen Sie ein DCM oder PLL instanziieren. Lesen Sie den Taktungsabschnitt im Handbuch für das von Ihnen verwendete FPGA, um zu erfahren, wie Sie dies richtig machen. Sie müssen so etwas wie 100 MHz / 10 * 65 / 10 = 65 MHz oder vielleicht 100 MHz * 13 / 20 = 65 MHz machen. Sie müssen sicherstellen, dass der VCO im richtigen Frequenzbereich arbeitet.
Um meine eigene Frage zu beantworten, habe ich den Clocking Wizard verwendet, der Teil von Vivado ist, danke an @Naz, dass er mich in die richtige Richtung gewiesen hat. Clocking Wizard erstellt ein Modul für Sie und abhängig von Ihren Spezifikationen können Sie jede Taktfrequenz aus diesem Modul generieren.
Den Clocking Wizard finden Sie unter Project Manager->IP Catalog->FPGA Features and Design->Clocking.
Für weitere Details zur korrekten Verwendung des Clocking Wizard habe ich auf den folgenden Link verwiesen: http://gadgetfactory.net/learn/2017/02/22/fpga-clocking-clocking-wizard-in-xilinx-ise/#Run_the_clocking_wizard_to_generate_your_desired_clocks
Jim Dearden
Claudio Avi Chami
David Tweed
Rohr
Archität
Rohr
Archität
David Tweed
Das Photon
Rohr
Nazar
Archität
Nazar
Archität
Nazar