Cores que voy poniendo en mi github

Cores exclusivos para la Pano Logic G1 ó G2 (sus cores NO son intercambiables)

Moderador: antoniovillena

Responder
Avatar de Usuario
mcleod_ideafix
Site Admin
Mensajes: 76
Registrado: 14 Ago 2018, 01:15

Cores que voy poniendo en mi github

Mensaje por mcleod_ideafix » 23 Dic 2018, 22:45

De momento lo que tengo hecho son chorradillas con el LED RGB. Espero poder poner cosas más interesantes.

https://github.com/mcleod-ideafix/pano_logic

Subcritical
GAL
Mensajes: 63
Registrado: 24 Ago 2018, 14:52

Re: Cores que voy poniendo en mi github

Mensaje por Subcritical » 27 Ene 2019, 10:32

Buenas mcleod_ideafix he añadido para el test2 del fantasma soporte para las familia Terasic DE2.
Modificado el fichero de cabecera la versión comprobada es la de Altera DE2_70.
El dac usado es de 30bit de color, un equivalente de "2 us dollars" compatible con el que trae la panologic.
https://www.analog.com/media/en/technic ... dv7123.pdf
Fuentes:
pano_logic-master.zip
(2.67 MiB) Descargado 10 veces
Lo más importante ha sido modificar la generación de reloj para todo el sistema en las lineas:

Código: Seleccionar todo

  
  //osc_clk es 50mhz , clk1 es 25mhz.
  reg clk1;
  wire clkvideo;
	always@(posedge osc_clk)
	clk1<=~clk1;
   assign vo_clk = clk1;
   assign clkvideo = clk1;
Como ejemplo para la generación de los qsf en la Altera Terasic DE2 he seguido esta asignación de pines:
http://www.terasic.com.tw/attachment/ar ... _Table.pdf

Manuales:
DE2 ORIGINAL:
http://hamblen.ece.gatech.edu/DE2/DE2%2 ... Manual.pdf
DE2 70:
https://www.terasic.com.tw/cgi-bin/page ... 6&PartNo=4
DE2 115:
ftp://ftp.intel.com/Pub/fpgaup/pub/Inte ... Manual.pdf

Es un ejemplo muy didáctico para portar, como se ve en una placa terasic DE2_70.
photo_2019-01-27_10-43-48.jpg
photo_2019-01-27_10-43-48.jpg (81.48 KiB) Visto 162 veces

Subcritical
GAL
Mensajes: 63
Registrado: 24 Ago 2018, 14:52

Re: Cores que voy poniendo en mi github

Mensaje por Subcritical » 30 Ene 2019, 05:31

Usando primitiva altpll para la versión de cyclone IV en la generación de relojes del unamiga.

Código: Seleccionar todo

 
// Metodo mediante primitiva altpll para generar una señal de reloj de 25 MHz a partir del reloj de 50 MHz del unamiga
// vo_clk = osc_clk / 2  = 25 MHz  

    wire clkvideo;
  relojes reloj25mhz (
    .inclk0(osc_clk),
    .c0(vo_clk),
    .c1(clkvideo)
    );
Fichero para poder sintetizar dicha demo en Unamiga:
unamiga.zip
(14.11 KiB) Descargado 9 veces
Ver porqué sale tan amarillo el fondo:
photo_2019-01-30_05-39-12.jpg
photo_2019-01-30_05-39-12.jpg (158.37 KiB) Visto 126 veces

Subcritical
GAL
Mensajes: 63
Registrado: 24 Ago 2018, 14:52

Re: Cores que voy poniendo en mi github

Mensaje por Subcritical » 30 Ene 2019, 11:11

Intentando usar la primitiva altpll, en un cyclone II obtengo esta salida mientras que en cyclone 4 sintetiza:

Código: Seleccionar todo

Error (272006): MGL_INTERNAL_ERROR: Port object altpll|clk of width  5 is being assigned the port altpll|stratixii_pll inst pll1|clk of width 3 which is illegal, as port widths dont match nor are multiples. CAUSE : The port widths are mismatched in the mentioned assignment. The port widths of the connected ports should match or the LHS port width should be a multiple of the RHS port width. ACTION : Check the port widths of the connected ports. Logical operation results in a port width equal to the larger of the two ports and concatenation results in a port width equal to the sum of the individual port widths. Double check for such cases.
¿Cual sería la primitiva a usar si existe para la familia cyclone II?

Responder

Volver a “Cores”