Circuitos combinacionales IceStudio

260 views
Skip to first unread message

Juan Perona

unread,
Jun 25, 2017, 7:20:20 AM6/25/17
to FPGAwars: explorando el lado libre

Hola voy a ir subiendo ejemplos de circuitos combinacionales para ir practicando con la IceZum, empiezo por un Semisumador de 1 bit con detección de acarreo. Un saludo


Semisumador 1bit.ice

Miquel Servera

unread,
Jun 25, 2017, 5:34:49 PM6/25/17
to FPGAwars: explorando el lado libre
Gracias Juan.

Saludos!
Message has been deleted

Juan Perona

unread,
Jun 26, 2017, 4:11:50 AM6/26/17
to FPGAwars: explorando el lado libre

Buenos dias! añado un sumador completo, el carry0 lo dejo a 0 por defecto porque la alhambra solo tiene dos entradas, adjunto el bloque para usar el sumador como componente, también adjunto una bloque de una puerta nand de 3 entradas que he tenido que crear.

saludos!



Sumador Completo 1 bit.ice
3NAND.ice
Sumador Completo 1 bit.ice

Jesús Arroyo

unread,
Jun 26, 2017, 4:19:34 AM6/26/17
to FPGAwars: explorando el lado libre
Buenas Juan:

Estupenda iniciativa :)

Te comento un par de consejos menores:
  • Existe una colección de lógica (https://github.com/FPGAwars/collection-logic). Si quieres puedes descargarla y utilizarla en tus diseños y si ves que falta alguna puerta también puedes contribuir al repositorio.
  • En Icestudio se pueden hacer capturas de pantalla fácilmente con el comando Ctrl+P. Quizá te sea de utilidad para sacar capturas de tus diseños.

Un saludo!

Juan Perona

unread,
Jun 26, 2017, 11:51:51 AM6/26/17
to FPGAwars: explorando el lado libre
Gracias Jesús

Cualquier sugerencia es aceptada, desconocía la colección de lógica y la opción de capturas. Las usaré y he intentare aportar mi granito de arena.

Un saludo!

Juan Perona

unread,
Jul 1, 2017, 1:25:07 PM7/1/17
to FPGAwars: explorando el lado libre

Hola! añado un cuadruple sumador total con entrada y salida de acarreo, permite la suma de 2 valores de 4 bit la salida es en binario con los leds de la icezum, el circuito emula un integrado, el 7483


Un saludo!

Sumador 4 bits.ice

Jose Pico

unread,
Jul 2, 2017, 8:08:57 AM7/2/17
to FPGAwars: explorando el lado libre
 Mola!

 Estaría bien que una vez realizado el esfuerzo creases un módulo de todo el conjunto y lo llamases por ejemplo 7483, Sumador 4 bits o algo significativo.
 También comentar que para poder convertirlo en un módulo las dos entradas a sumar de 4 bits no deberías usar una entrada como valor constante ya que si lo haces así no podrás reutizar el módulo
 de una forma más dinámica,solo podrás poner un valor a mano y sintetizarlo (eso está bien cuando por ejemplo se quiere dar una configuración fija a un circuito como por ejemplo la velocidad en baudios de una transmisión serie,etc. )  lo ideal es que se puedan incluir en otro circuito donde los sumandos puedan ir cambiando de valor ( de esta forma será un verdadero 7483 ), piensa por ejemplo en usar ese circuito añadiendo dos contadores de 4 bits a cada entrada donde un contador contase número de cajas que pasan por una línea A y otro contador contase el número de cajas que pasan por la línea B y la suma de ambos fuera el resultado de tu sumador, con el circuito que has realizado si lo intentases reutilizar no nos valdría.
Espero haberme explicado bien.
 
 Saludos y Gracias 

Juan Perona

unread,
Jul 2, 2017, 10:22:13 AM7/2/17
to FPGAwars: explorando el lado libre
Hola Jose gracias por los comentarios!

Es justo lo que estaba preparando bloques de los componentes que voy creando en paralelo a los ejemplos que estoy publicando, así se pueden reutilizar en otros proyectos mas complejos, es lo bueno que tiene IceStudio que creando bloques de componentes muy básicos se pueden crear circuitos escalables y darle la forma que cada uno quiera!, haber si entre todos podemos hacer cosas geniales con esta fantástica herramienta que están currandose los compañeros del grupo.

Aprovecho para adjuntar el bloque del 7483,  y un bloque para convertir una constante en una salida de 4 bits paralelo (así es más fácil modificar el valor durante los ejemplos)


Un saludo!
Sumador 4 bits 7483.ice
4 Bit Paralelo.ice

Jose Pico

unread,
Jul 2, 2017, 4:19:35 PM7/2/17
to FPGAwars: explorando el lado libre
Hola Juan:

Comentar que en el bloque  4 Bit Paralelo.ice  las asignaciones funcionan pero creo que más correcto sería poner:

assign a = v[0];
assign b = v[1];
assign c = v[2];
assign d = v[3];

por otra parte me parece algo mejor  ( por el tema de cablear ) usar buses que lineas individuales, luego se pueden usar conversores de buses a lineas individuales o viceversa para adaptar entradas/salidas de un circuito.
Me he permitido modificar el Sumador  de 4bit usando un bus de 4 bits tanto en la entrada/salida.
Añado también conversores de bus de 4 a 1 ( cuatro lineas de 1 bit)    y de 1 ( cuatro lineas de 1 bit ) a bus de 4.




Saludos
4 Bit Paralelo v2.ice
Bus_1_To_4.ice
Bus_4_To_1.ice
Ex 4 Bit Paralelo.ice
Ex Sumador 4bits.ice
Sumador 4 bits 7483_v2.ice

Juan Perona

unread,
Jul 3, 2017, 2:02:04 AM7/3/17
to FPGAwars: explorando el lado libre
Hola Jose

Tomo nota de los fallos y el feedback por tu parte, dejé las lineas individuales más que nada para poder usar el componente en el siguiente ejemplo que estoy preparando, un Sumador/restador BCD, aunque creo que es bueno que ambos componentes existan, tanto con buses como con lineas individuales. Con buses queda todo mucho más limpio.

Un saludo!
Reply all
Reply to author
Forward
0 new messages