Ich brauche bitte 4 Clocks verschiedener Frequenz in VHDL bitte.

Gast #4631352
Lesenswert?

Hallo, guten Tag.

Ich brauche bitte 4 Clock-Frequenzen für die Nutzung in VHDL bitte.

Hauptclock ist 48 MHz.

Davon brauche ich bitte 4 Frequenzen um mit dem neuen Board spielen zu 
können. Die Demoprogramme sind in Verilog, möchte aber gernen in VHDL 
weitermachen.
- 5 khz
- 2 mhz
- 1 mhz
- 40 mhz

Wer kann mir diese Clocks bitte in vhdl herstellen?

Diese 25 mhz hatte ich mal aus 50 mhz hergestellt zum spielen:
---------------
process (clk50_in)
begin
  if rising_edge(clk50_in) then
    clk25 <= not clk25;
  end if;
end process;
----------------

Danke.

Gruss
Gast #4631859
Lesenswert?

Ja danke, ich habe ein ALTPLL-Megafunction in Verilog:
1
// synopsys translate_off
2
`timescale 1 ps / 1 ps
3
// synopsys translate_on
4
module pll (
5
  inclk0,
6
  c0,
7
  c1,
8
  c2,
9
  c3);
10

11
  input    inclk0;
12
  output    c0;
13
  output    c1;
14
  output    c2;
15
  output    c3;
16

17
  wire [4:0] sub_wire0;
18
  wire [0:0] sub_wire7 = 1'h0;
19
  wire [2:2] sub_wire4 = sub_wire0[2:2];
20
  wire [0:0] sub_wire3 = sub_wire0[0:0];
21
  wire [3:3] sub_wire2 = sub_wire0[3:3];
22
  wire [1:1] sub_wire1 = sub_wire0[1:1];
23
  wire  c1 = sub_wire1;
24
  wire  c3 = sub_wire2;
25
  wire  c0 = sub_wire3;
26
  wire  c2 = sub_wire4;
27
  wire  sub_wire5 = inclk0;
28
  wire [1:0] sub_wire6 = {sub_wire7, sub_wire5};
29
....
30
....


So werden die Clocks in einem Verilogprogramm übernommen:
1
......
2
wire clk_5k;
3
wire clk2m;
4
wire clk1m;
5
  pll pll_inst
6
  (
7
    .inclk0  (CLK),
8
    .c0    (clk_5k),
9
    .c1    (clk2m),
10
    .c2    (clk1m),
11
    .c3    (clk40m_vga)
12
  );
13
......

Wie sieht das bitte in VHDL aus mit der Übernahme der Clocks das der 
Verilog-ALTPLL.
Ich weiß nicht wie man es umsetzen kann.

Danke.
Gruss
Gast #4631873
Lesenswert?

dudn schrieb:
> Jaja.
> Über die Groß- und Kleinschreibung Scherze machen, aber selbst keine
> Ahnung davon.

Das hat mit Groß- und Kleinschreibung überhaupt nichts zu tun. Es geht 
nur darum, dass milli und Mega sehr unterschiedliche Größenordnungen 
haben.
Gast #4631880
Lesenswert?

------------------
Die Frequenzen (5/6, 1/24, 1/48, 1/9600) kannst du dir alle mit der
ALTPLL-Megafunction erzeugen und dann in VHDL einbinden.
------------------


Die Erstellung geht nicht, weil es nicht freigegeben ist.
Siehe Bild.

Danke.
Gruss
Angehängte Dateien:
#4631883
Lesenswert?

peter schrieb:
> Wie sieht das bitte in VHDL aus mit der Übernahme der Clocks das der
> Verilog-ALTPLL.
> Ich weiß nicht wie man es umsetzen kann.

Wenn Du Tante Google mit "tutorial altera alt_pll" fütterst, erhältst Du 
gleich als erstes drei brauchbare Links:

https://www.altera.com/literature/ug/ug_altpll.pdf
https://www.altera.com/support/support-resources/design-examples/design-software/quartus-ii/altpll.html
https://www.altera.com/literature/tt/tt_my_first_fpga.pdf

Ich an Deiner Stelle würd mal mit dem Dritten beginnen.
#4632101
Lesenswert?

peter schrieb:
> ------------------
> Die Frequenzen (5/6, 1/24, 1/48, 1/9600) kannst du dir alle mit der
> ALTPLL-Megafunction erzeugen und dann in VHDL einbinden.
> ------------------
>
>
> Die Erstellung geht nicht, weil es nicht freigegeben ist.
> Siehe Bild.
>
> Danke.
> Gruss

Die Cyclone IV PLLs sind im MegaWizard (lustigerweise) unter I/O (und 
eben nicht unter PLL) zu finden. Dort sind sie dann auch nicht 
ausgegraut.
Gast #4632263
Lesenswert?

Ja danke für die Tipps.

Cyclone IV E habe ich eingestellt.

--------------------
Die Cyclone IV PLLs sind im MegaWizard (lustigerweise) unter I/O
--------------------

ja danke, habe ich jetzt auch entdeckt, nachdem ich mal alle angebotenen 
Reiter angeklickt habe.

Nun muss ich mal schauen, welches ich alles nach dem durchklicken im 
MegaWizard einstellen muss.
Ich möchte jetzt nur erstmal von 48Mhz die c0 auf 25 Mhz haben.

Gruss
Gast #4632993
Lesenswert?

Die Grafik und Textdarstellung funktioniert jetzt präzise.
Mit dem MegaWizard eine neue Altpll ertellt von 48 Mhz auf 25.175 MHz.

Das Board ist sehr sauber in der Darstellung ohne flimmern oder Jitter 
usw.

Der Memoryverbrauch liegt bei der Grafikdarstellung bei 66%.

Danke für die Hilfe.

Gruss
Angehängte Dateien:
#4634325
Lesenswert?

Wenn du ein anderes Board hast muss du die Pins ändern usw.
Das RAM ist 2400 Byte gross und beinhaltet den Bildschirm 80x30 als 
Asciizeichen. Das Rom beinhaltet 128 Zeichen (1024 Byte) , 1 Zeichen 8 
Byte hoch.  Die Bytes von den Zeichen sind als Nibbles abgespeichert.
Ich habe auch mal einen C64-Zeichensatz reingeladen.  Da hast du freie 
Wahl.

Gruss
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #4636520
Lesenswert?

peter schrieb:
> Funktioniert mit Clocks und Enables...
In diesem Design wird einfach alles mit 25MHz berechnet, und dann kurz 
vor der Ausgabe auf 48MHz registriert. Dieser letzte Schritt ist unnötig 
und gefährlich. Er erhöht die Taktfrequenz dieses einen Pfades auf 
virtuelle 600MHz. Da dürfte die Toolchain ganz hübsch motzen...

Es wäre richtig, die 48MHz mit der PLL auf 25MHz umzuwandeln und dann 
das ganze Design auf diesen 25MHz laufen zu lassen. Das wäre zudem auch 
mit einer kleinen Änderung ohne funktionelle Änderung möglich: in diesem 
"Ausgabeprozess" muss einfach statt 48 die Zahl 25 stehen:
1
process(clk48)
2
begin
3
  if rising_edge(clk48) then
4
    if vid_enable ='1' and pixel='1' then
5
    ....
Gast #4637344
Lesenswert?

Ja , was für Diplome.....erzähl ich gerne.

Vor 3 Jahren sind meine Frau und ich mit 65 jahren den Jakobsweg 
gegangen.
von Saint-Jean-Pied-de-Port nach Santiago de Compostela. Ca 830 Km in 5 
Wochen, Nur aus dem Rucksack gelebt. Anhand von Herbergsnachweisen 
bekommst du dann so eine Urkunde in Santiago de Compostela von der 
Kirche.

Hat Spaß gemacht. In 2 Jahren wenn wir 70zig sind wollen wir es noch 
einmal wagen.


Gruss
Persönliche Seite #4638477
Lesenswert?

Peter B. schrieb:
> Wenn du ein anderes Board hast muss du die Pins ändern usw.
> Das RAM ist 2400 Byte gross und beinhaltet den Bildschirm 80x30 als
> Asciizeichen. Das Rom beinhaltet 128 Zeichen (1024 Byte) , 1 Zeichen 8
> Byte hoch.  Die Bytes von den Zeichen sind als Nibbles abgespeichert.
> Ich habe auch mal einen C64-Zeichensatz reingeladen.

Wird so langsam ein Retroprojekt, was? :-D

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