MCLK in Lattice Diamond zuweisen

OP #3731195
Lesenswert?

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 #3731267
Lesenswert?

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 #3731270
Lesenswert?

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 #3731287
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren