MCLK in Lattice Diamond zuweisen

OP #3731195
Hallo,

ich bin gerade bei den ersten Gehversuchen mit Lattice Diamond.

Ich habe in Verilog also ein Toplevel-Modul erzeugt
1
module blink (clk,led);
2
  input clk;
3
  output led;
4
  //some code
5
endmodule

das Modul soll, wie unschwer zu erraten, später eine LED ansteuern.

Über die "Spreadsheet View" und "Pin Assignments" kann ich den led 
Ausgang nun dem LED Pin zuweisen. Woran ich jedoch scheitere, ist das 
Master Clock Signal mit dem clk Eingang zu verbinden. Wie genau stelle 
ich es an? Leider habe ich dazu keine Informationen gefunden...

Ich verwende das Lattice Mach XO2 Breakout Board mit einem LCMXO2-7000HE 
FPGA.

Danke im Voraus!
Gast
Janis E. schrieb:
> Ich verwende das Lattice Mach XO2 Breakout Board mit einem LCMXO2-7000HE
> FPGA.
Wo kommt Dein Takt her? Hast Du eine externe Taktquelle angeschlossen? 
Wenn ja, wie?
Oder willst Du den internen Oszillator (OSCH) verwenden?

Duke
Gast
MCLK ist etwas zum Laden des Konfigurationfiles.
Du willst den OSCH verwenden. der muss im Toplevel instanziiert werden.
Die Frequenz wird mit einem generic (VHDL) zugewiesen.
TN1199 behandelt das Problem in epischer Breite.
OP
Duke Scarring schrieb:
> Wo kommt Dein Takt her? Hast Du eine externe Taktquelle angeschlossen?
> Wenn ja, wie?
> Oder willst Du den internen Oszillator (OSCH) verwenden?

Ich möchte den internen Oszillator verwenden. Wenn ich das Datenblatt 
richtig verstehe, ist dieser mit MCLK verbunden 
(http://www.latticesemi.com/~/media/Documents/DataSheets/MachXO23/MachXO2FamilyDataSheet.pdf?document_id=38834?, 
S.33). Über Diamond konnte ich die MCLK Frequenz festlegen (die 
Standardmäßig auf 2.08MHz liegt), aber habe nirgendwo eine Einstellung 
gefunden, wie ich MCLK mit meinem Modul verbinden kann.
Gast
Janis E. schrieb:
> Ich möchte den internen Oszillator verwenden.
Ok. Den kannst Du als interne Komponente instanziieren:
1
...
2

3
library machxo2;
4
use machxo2.components.osch;
5

6
...
7

8
    signal mein_interner_takt : std_logic;
9

10
...
11

12
    osch_instance : OSCH
13
        generic map (
14
            NOM_FREQ => "2.08"
15
            )
16
        port map (
17
            STDBY    => '0',
18
            OSC      => mein_interner_takt,
19
            SEDSTDBY => open
20
            );
21

22
...

Duke
Gast
Wenn man 2,08 MHz braucht, kann man sich die Zeile
generic map ( NOM_FREQ => "2.08")
sparen, da 2,08 MHz die Defaultfrequenz ist.

Die Verilog-Instanziierung steh in der TN auch drin

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.