Lattice FPGA - declarar pin

3

Estoy aprendiendo VHDL y estoy usando las tablas Lattice. Quiero saber como declarar un GPIO. Encontré el siguiente bloque de código en el ejemplo de la carpeta de software de diamante. Es el archivo ".lpf" y creo que es el lugar donde se declaran los pines. ¿Alguien puede explicar simplemente lo que significan las líneas:

BLOCK RESETPATHS ;
BLOCK ASYNCPATHS ;
BLOCK JTAGPATHS ;
IOBUF ALLPORTS IO_TYPE=LVCMOS33 ;
LOCATE COMP "seg_1" SITE "V6" ;
LOCATE COMP "seg_2" SITE "U7" ;
LOCATE COMP "seg_3" SITE "Y6" ;
LOCATE COMP "seg_4" SITE "AA6" ;
LOCATE COMP "seg_5" SITE "U8" ;
LOCATE COMP "seg_6" SITE "T8" ;
LOCATE COMP "seg_7" SITE "AA5" ;
LOCATE COMP "seg_8" SITE "AB4" ;
LOCATE COMP "clk" SITE "L5" ;
IOBUF PORT "seg_1" IO_TYPE=LVCMOS33 TERMINATEVTT=OFF ;
LOCATE COMP "reset" SITE "J7" ;
IOBUF PORT "reset" IO_TYPE=LVCMOS33 ;
LOCATE COMP "direction" SITE "J6" ;
LOCATE COMP "LOCK" SITE "W5" ;
LOCATE COMP "seg_9" SITE "Y20" ;
LOCATE COMP "seg_10" SITE "AA21" ;
LOCATE COMP "seg_11" SITE "U18" ;
LOCATE COMP "seg_12" SITE "U19" ;
LOCATE COMP "seg_13" SITE "W19" ;
LOCATE COMP "seg_14" SITE "V19" ;
LOCATE COMP "seg_15" SITE "AB20" ;
LOCATE COMP "seg_16" SITE "AA20" ;

corrígeme si me equivoco, entonces Las primeras 3 líneas bloquean al usuario para usar los pines que se usan en JTAG & ¿Restablecer?

Una línea como esta:

LOCATE COMP "seg_16" SITE "AA20" ;

significa para el sintetizador que la variable seg_16 de los archivos VHDL está vinculada al pin "real" de la placa.

Finalmente, no tengo idea de lo que significa la palabra clave IOBUF. Entonces, ¿entendí algo bien o simplemente me equivoco?

    
pregunta MathieuL

1 respuesta

4

El archivo * .lpf describe el pinout del FPGA. Sin embargo, antes de explicar las líneas, debes saber que hay una forma más fácil de asignarlas usando el software de diseño Lattice Diamond y que hay algunos tutoriales geniales por ahí que muestran cómo hacer esto, acabo de encontrar este: enlace

Comienza a asignar alfileres aproximadamente a las 17:15, pero vale la pena verlo todo para que puedas ver el proceso de principio a fin.

Para darle una idea de lo que significan las líneas en el archivo lpf, aquí hay algunos ejemplos:

IOBUF ALLPORTS IO_TYPE = LVCMOS33; = Configure todos los puertos para utilizar el estándar lógico CMOS de bajo voltaje 3V3.

LOCALIZA COMP "seg_1" SITIO "V6"; = Asigne el puerto llamado "seg_1" al pin V6.

Espero que esto ayude,

Gipsy

    
respondido por el Gipsy Danger

Lea otras preguntas en las etiquetas