Hola!
Ya está liberada la versión 0.1.0 de la Colección IceInputs
Lo
más destacables es que el bloque de lectura de los pulsadores (bloque
button) está implementado a partir de otros bloques (que también están
en la colección) de forma que es más fácil entender su funcionamiento y
modificarlo (En la versińo anterior sólo estaba la implementación en
verilog)
Además, el bloque button incluye el
parámetro pup para habilitar la resistencia de pull-up interna de las
FPGAs ice40, y conectar de forma más fácil los pulsadores. He hecho
pruebas con muchas placas con pulsadores y funciona bastante bien
Este
es un ejemplo "hola mundo" de lectura de un pulsador de la Alhambra II.
Es como el ejemplo que ya conocemos y que se ha usado muchas veces,
pero ahora está implementado con el nuevo bloque button
Si nos metemos dentro del bloque button veremos los bloques que lo forman:
Cada
bloque es una etapa diferente del procesado. La primera es para el
pull-up, que por defecto está desactivado. La segunda es para
sincronizar la entrada y evitar los problemas de la metaestabilidad. La
tercera es una etapa de normalización para que la señal que se obtenga
sea de lógica positiva. Esta etapa es simplemente una puerta NOT
condicional: Si se activa el parámetro not se coloca, y si se pone a 0
se trata de un simple cable
La
última etapa es el antirrebotes, que a su vez se ha implementando
también con bloques, para entender mejor su funcionamiento y que la
gente que no sepa verilog lo pueda estudiar y modificar:
El funcionamiento está explicado en el cuaderno técnico 10 de FPGAs libres[1]
Por
defecto los comentarios están en Inglés, pero también incluye la
traducción al Español (si tienes configurado el idioma español en
Icestudio los comentarios de los circuitos y bloques te aparecerán en
español)
Por supuesto se puede
traducir a cualquier otro idioma. Sólo hay que incluir el fichero .po
con las traducciones en su carpeta correspondiente dentro de la carpeta
locale
En
cuanto pueda hago instrucciones sobre cómo hacer las traducciones.
Antes quiero terminar la organización de las colecciones, para que luego
entre todos podamos meter componentes a saco y traducirlas a los
idiomas correspondientes
Saludos, Obijuan