[Icestudio] [TODO] Inclusión de flip-flips tipo D y T en icestudio 0.2.1

393 views
Skip to first unread message

Obijuan

unread,
Sep 1, 2016, 2:48:41 AM9/1/16
to FPGA-WARS: explorando el lado libre
Hola,

  Antes de hacer una release de icestudio 0.2.1, queremos incluir los flip-flips tipo D y T. Este es el roadmap:

  https://github.com/FPGAwars/icestudio/wiki/Icestudio-0.2.X:-proposed-content#021-proposed-blocks-tree

Os animo que cualquiera de vosotros haga esta contribución. Es una forma sencilla de entender las tripas de icestudio, quitarse el miedo y aprender a usar github.

El único requisito es usar código verilog estándar. Si bien las lattice tienen una biblioteca con sus componentes internos (SB_DFF), es preferible modelarlos directamente en verilog usando un proceso (always) para que potencialmente se pueda sintetizar en cualquier fpga y no sólo en las de lattice

El proceso para cada flip-flip sería (a groso modo) sería:


1. Hacer un fork del repo de icestudio y clonarlo
2. Modelar el flip-flop en un bloque código en icestudio. Añadir entradas y salidas para realizar pruebas y comprobar que sintetiza correctamente y que funciona bien al cargarlo en la FPGA
3. Exportar el bloque flip-flip (.iceb) y colocarlo en el directorio icestudio/app/resources/blocks/logic/sec
4. Modelar el símbolo en .svg y colocarlo en el directorio icestudio/app/resources/images
5. Ejecutar icestudio y comprobar que aparece el nuevo componente en el menú logic/sec. Colocarlo y comprobar que aparece correctamente, con su imagen ok. Corregir los fallos encontrados hasta que funcione bien
6. Hacer un pull-request

Os animo que lo probéis. En este hilo os podemos ir guiando y solucionando todas las dudas y problemas.
En cualquier caso, si nadie se anima en unos días, lo implementaremos nosotros y lo iremos contando por aquí para veáis cómo se hace

Saludos, Obijuan




Carlos 47

unread,
Sep 1, 2016, 4:04:02 AM9/1/16
to fpga-wars-explora...@googlegroups.com
Que tal Obijuan,
Tengo algo de insomnio e hice una implementación, no se si sea la mas adecuada pero al parecer me sirve:

​Funciona de la siguiente forma:
El FF es un tipo D, además de la terminal d tiene una de enable (en), esta terminal se puede quitar pero la uso para que de alguna forma se pueda deshabilitar el DFF cuando uno quiera, si la terminal en tiene un 0 lógico el FF mantiene el último estado de q y q_i, si tiene un 1 lógico funciona como el DFF normal.
Un bloque derivado podría ser uno que no tenga la terminal en o que tenga un 1 lógico en esa terminal y que siempre este habilitado.

Adjunto el proyecto en iCEStudio funcionando en la iCEStick.

Igual podría verse que diferentes implementaciones se desarrollan y en mi caso aprender más de ellas hahah.
Saludos y cualquier feedback es bienvenido :D.
-C

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/97eb6329-b9b0-4adf-b9fe-6af50f3be2a8%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

DFF_verilog.ice.zip

Obijuan

unread,
Sep 1, 2016, 6:36:29 AM9/1/16
to FPGA-WARS: explorando el lado libre
Estupendo Carlos!  Estás a tope!!!  :-)

La forma estándar de hacer un flip-flop con lenguajes HDL es usando la memoria implícita de los "ifs". El código de un flip-flop de una sóla salida (q) sería:

reg _q = 0;

always @(posedge clk)
begin
    if(en)
        _q <= d;
end

Este código se lee así:

"Cuando llegue un flanco de reloj, si la señal en está habilitada, captura el valor de la entrada d y guárdalo en _q"

No hay que especificar lo que ocurre cuando no está el enable activado porque está implícito: es un flip-flop, si no se cumplen las condiciones de captura se tiene que quedar como está
Esto es lo que se denomina memoria implícita

Sin embargo, cuando estás implementando circuitos combinaciones, hay que evitar esta memoria implícita y siempre hay que dar valores explícitamente a todos los casos posibles (todos los ifs con elses, todos los cases with default)

El flip-flop que das definido tiene las dos salidas típicas: q y q_i (q negada). No hace falta definir 2 variables. El estado queda representado unívocamente por _q, que es una variable de 1 bit. Para obtener su salida negada lo hacemos en la assignación final. El código completo quedaría así:

reg _q = 0;

always @(posedge clk)
begin
    if(en)
        _q <= d;
end

assign {q, q_i} = {_q, ~_q};

Adjunto los proyectos para icezum y icestick

Sólo falta generar el SVG y pull-request al canto  ;-)

¡Gracias!
DFF_verilog-v2-icestick.ice
DFF_verilog-v2-icezum.ice

Carlos 47

unread,
Sep 1, 2016, 1:20:50 PM9/1/16
to fpga-wars-explora...@googlegroups.com
Que tal Obijuan,
Estuve haciendo los FF tipo T, la fuente es TFF_SE_SR_bloque_verilog, esto es un FF tipo T con enable y !reset síncronos, los demás son bloques derivados, cuéntame como los ves, así pensaba hacer varios bloques derivados también del FF tipo D.
No he podido hacer funcionar el FF con !reset asíncrono ;(.
El verilog lo obtuve de aquí [1].

Saludos
-C

[1] http://www.asic-world.com/examples/verilog/t_ff.html

Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-lib...@googlegroups.com.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
TFF_SR.iceb
TFF_SE_SR__bloque_verilog.ice
TFF_SE_SR.iceb
TFF.iceb

Obijuan

unread,
Sep 2, 2016, 6:22:42 AM9/2/16
to FPGA-WARS: explorando el lado libre
Hola Carlos!

Genial! no paras, eh?  :-D

El flip-flip T está bien, salvo que las prioridades están cambiadas. La señal de reset siempre es la más prioritaria. Esto se define con el anidamiento de los ifs. Lo más prioritario es lo más externo. Cuanto más interno el if, menos prioritario.

Voy aprovechar para poner aquí un mini-tutorial de flip-flips T (pero es extensible al resto de flip-flips). Los iré poniendo en sucesivos correos, segun los vaya haciendo y probando

1: Flip-flopt T básico. Una entrada. Una salida. Sin enable. Sin reset


El flip-flop T cambia su estado cuando su entrada T (toggle) se activa

//-- Estado interno del flip-flop

reg _q = 0;

always @(posedge clk) begin
  if (T)
    _q <= ~_q;
end

//-- Conexion de la salida
assign Q = _q;


Y este el proyecto para probarlo en icestudio (en icezum):



Saludos, Obijuan
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/97eb6329-b9b0-4adf-b9fe-6af50f3be2a8%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
TFF_1-master.ice
Auto Generated Inline Image 1

Carlos

unread,
Sep 2, 2016, 8:09:14 PM9/2/16
to FPGA-WARS: explorando el lado libre



Que tal Obijuan, corregí las prioridades de los if, adjunto el proyecto del TFF con enable síncrono y reset asíncrono para la iCEStick.

reg _q;

always @(posedge clk or negedge rst_i)
begin
    if(~rst_i) begin
        _q <= 0;
    end else begin
        if(en) begin
            if(t) begin
                _q = ~_q;
            end
        end
    end

end

assign {q, q_i} = {_q, ~_q};

He visto que en los bloques SB hay algunos FF con una terminal que se llama set, hará falta implementarla también?
Le hice una imagen [imagen de arriba] pero me equivoque y le puse SR en lugar de AR xd, el "componente" lo puse en una nueva pestaña de logic, se llama sec como aqui [1], corrijo la imagen y espero las correcciones para seguir haciendo los flip flops y sus imágenes correspondientes.

Los que no he repasado como funcionan son los JK, S. Esos también están propuestos para la versión 0.2.1?

Saludos
-C

1. https://github.com/FPGAwars/icestudio/wiki/Icestudio-0.2.X:-proposed-content#021-proposed-blocks-tree

TFF_bloque_verilog.ice

Carlos

unread,
Sep 2, 2016, 8:11:54 PM9/2/16
to FPGA-WARS: explorando el lado libre
Olvide subir el proyecto de prueba.

prueba_TFF_SE_AR_icestick.ice

Obijuan

unread,
Sep 4, 2016, 6:08:36 AM9/4/16
to FPGA-WARS: explorando el lado libre
Hola Carlos!

Te respondo entre líneas:


El sábado, 3 de septiembre de 2016, 2:09:14 (UTC+2), Carlos escribió:



Que tal Obijuan, corregí las prioridades de los if, adjunto el proyecto del TFF con enable síncrono y reset asíncrono para la iCEStick.
 

reg _q;

always @(posedge clk or negedge rst_i)
begin
    if(~rst_i) begin
        _q <= 0;
    end else begin
        if(en) begin
            if(t) begin
                _q = ~_q;
            end
        end
    end
end

assign {q, q_i} = {_q, ~_q};

Perfecto! :-)

La siguiente mini-mejora que se puede aplicar es hacer el código un poquito menos verboso. Dado que en todos los if sólo se está colocando una instrucción, se pueden eliminar muchos de los begin/ends. Esto es cuestión de gustos. A mí me gusta más el estilo poco-verboso. Quedaría así:


reg _q;

always @(posedge clk or negedge rst_i)
begin
    if(~rst_i)
        _q <= 0;
    else
        if(en)
            if(t)
              _q = ~_q;

end

assign {q, q_i} = {_q, ~_q};

Y lo siguiente es agrupar los 2 ifs anidados en uno sólo con un and (&), que sería equivalente (Esto también es cuestión de gustos)


reg _q;

always @(posedge clk or negedge rst_i)
begin
    if(~rst_i)
        _q <= 0;
    else
        if(en & t)
           _q = ~_q;

end

assign {q, q_i} = {_q, ~_q};

 

He visto que en los bloques SB hay algunos FF con una terminal que se llama set, hará falta implementarla también?

No hace falta

Le hice una imagen [imagen de arriba] pero me equivoque y le puse SR en lugar de AR xd, el "componente" lo puse en una nueva pestaña de logic, se llama sec como aqui [1], corrijo la imagen y espero las correcciones para seguir haciendo los flip flops y sus imágenes correspondientes.

Genial!
 

Los que no he repasado como funcionan son los JK, S. Esos también están propuestos para la versión 0.2.1?


De momento no. Con los flip-flops T y D ya se puede hacer de todo

Salduos, Obijuan
 

Carlos 47

unread,
Sep 4, 2016, 6:47:15 PM9/4/16
to fpga-wars-explora...@googlegroups.com
Que tal Obijuan,

Adjunto el componente "primitivo" del TFF con las correcciones, también adjunto el "primitivo" del DFF.
¿Esta bien que los rst de los FF sean activos en bajo o los cambiamos a activos en alto?

También me surgió una duda, para negar los bits estoy usando ~, pero en esta [1] página usan ! para las negaciones lógicas, ¿Cual sería el operando correcto?

Espero las correcciones, si esta bien hago los bloques derivados, terminar las imágenes y hacer el PR :D.

Saludos

1. https://www.utdallas.edu/~akshay.sridharan/index_files/Page5212.htm

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
TFF_asincrono_verilog_master.ice
TFF_sincrono_verilog_master.ice
DFF_sincrono_verilog_master.ice
DFF_asincrono_verilog_master.ice

Obijuan

unread,
Sep 5, 2016, 6:14:13 AM9/5/16
to FPGA-WARS: explorando el lado libre
Hola Carlos!


El lunes, 5 de septiembre de 2016, 0:47:15 (UTC+2), Carlos escribió:
Que tal Obijuan,

Adjunto el componente "primitivo" del TFF con las correcciones, también adjunto el "primitivo" del DFF.

Genial!  Ya casi estamos ahí!!! Gracias! :-)

 
¿Esta bien que los rst de los FF sean activos en bajo o los cambiamos a activos en alto?


El reset se puede dejar activo a nivel alto o nivel bajo. Nos da igual. Tal vez a nivel bajo sea mejor como ejemplo, ya que el resto de señales son activas a nivel alto
 

También me surgió una duda, para negar los bits estoy usando ~, pero en esta [1] página usan ! para las negaciones lógicas, ¿Cual sería el operando correcto?

Cuando se hacen manipulaciones de bits, se usa ~. En el DFF por ejemplo, en la asignación es mejor usar ~_q (porque están cambiando de estado el bit de _q)

assign {q, q_n} = {_q, ~_q};  mejor que   assign {q, q_n} = {_q, !_q};

Aunque ambos funcionarán bien, porque _q es de sólo 1 bit (lo dos operadores negarán este bit).

Cuando se está usando en el "if", es más correcto usar !

if (!rst_i) ...     mejor que  if (~rst_i)

aunque ambas funcionarán igual.

Sin embargo, cuando se trabaja con lógica negativa, a mí me resulta más intuitivo hacer la comparación directamente con 0, para evitar ambiguedades

if (rst_i == 0) ..

 Así al ver el código, a mi me queda claro que el reset es activo a nivel bajo.  Si sólo aparece   if (rst_i) entonces es que es lógica positiva.

En cualquier caso es cuestión de gustos  :-)

Lo que sí es importante es mantener la coherencia. Si se usa el sufijo _n para indicar "negado", mejor usarlo en todos los sitios igual (también con rst_n). El código del DFF quedaría así:

reg _q = 0;

always @(posedge clk or negedge rst_n)
begin
    if(!rst_n)    //  Esto sería equivalente: if (rst_n == 0) ..  Cuestion de gustos...
        _q = 1'b0;
    else if(en)
        _q <= d;
end

assign {q, q_n} = {_q, ~_q};

La descripción típica de este flip-flop es:

Flip-fliop D con reset asíncrono activo a nivel bajo y entrada de enable  (Todas las entradas, salvo el rst, son siempre síncronas. No hace falta especificiarlo, se sobreentiende)


Para el caso del Flip-Flopt T, lo mismo. El código sería:


reg _q = 0;

always @(posedge clk or negedge rst_n)
begin
    if(!rst_n)

        _q <= 0;
    else
        if(en & t)
            _q = ~_q;
end

assign {q, q_n} = {_q, ~_q};

Descripción: Flip-Flop T, con reset asíncrono activo a nivel bajo y entrada de enable


Espero las correcciones, si esta bien hago los bloques derivados, terminar las imágenes y hacer el PR :D.


Ya casi están. Los únicos cambios son:

* Mantener la coherencia en el sufijo de negación (bien _n, o bien _i, pero todos iguales)
* ~ en todos los casos salvo en el if

y PR listo!  :-)

Muchísimas gracias Carlos!

Saludos, Obijuan

 

Carlos 47

unread,
Sep 5, 2016, 2:56:48 PM9/5/16
to fpga-wars-explora...@googlegroups.com
Hola Obijuan,
Adjunto los proyectos corregidos (usan la iCEStick), opte por usar x_n para las señales activas en bajo, también adjunto los bloques que se derivan de cada FF.

Para nombrar las imágenes use por ejemplo:
* TFF_SE_AR: Flip flop tipo T, enable síncrono y reset asíncrono, lo tengo que corregir a TFF_E_R, no? jaja

Creo que sería bueno escribir en la wiki o documentación la nomenclatura que se va a usar, para que la sigan los futuros aportes, como en l página 5 de este documento [1] .

Saludos y gracias por la ayuda :D

1. http://www.latticesemi.com/~/media/LatticeSemi/Documents/UserManuals/1D/CMOStoDPHYIPUserGuideIPUG126.pdf?document_id=51673

Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-lib...@googlegroups.com.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
DFF_asincrono_verilog_master.ice
TFF_E_R.iceb
DFF.iceb
DFF_R.iceb
DFF_E.iceb
DFF_E_R.iceb
TFF_asincrono_verilog_master.ice
TFF_AR.svg
TFF_SE_AR.svg
TFF_SE.svg
TFF.svg
TFF.iceb
TFF_R.iceb
TFF_E.iceb

Obijuan

unread,
Sep 7, 2016, 5:45:04 AM9/7/16
to FPGA-WARS: explorando el lado libre
Hola Carlos!


El lunes, 5 de septiembre de 2016, 20:56:48 (UTC+2), Carlos escribió:
Hola Obijuan,
Adjunto los proyectos corregidos (usan la iCEStick), opte por usar x_n para las señales activas en bajo, también adjunto los bloques que se derivan de cada FF.

Genial!
 

Para nombrar las imágenes use por ejemplo:
* TFF_SE_AR: Flip flop tipo T, enable síncrono y reset asíncrono, lo tengo que corregir a TFF_E_R, no? jaja

Si. En este caso sería:  TFF_E_AR: Flip flipt tipo T, con Enable y Reset Asíncrono (El enable siempre es síncrono, el reset puede ser asíncrono AR, o síncrono SR)
 

Creo que sería bueno escribir en la wiki o documentación la nomenclatura que se va a usar, para que la sigan los futuros aportes, como en l página 5 de este documento [1]

Correcto. Lo apunto en el TODO


En cuanto a los imágenes, te comento algunas cosas.  Usaré la imagen del TFF como ejemplo.

El primer cambio a hacer es en el nombre que aparece en la imagen. Indicamos que es un flip-flip T con TFF y el tipo de reset con AR / SR, pero no hace falta indicar el enable en el nombre porque ya ve directamente en el dibujo que hay una entrada de enable (hay redundancia)



Estos serían los dos nombres, correspondientes al reset asíncrono y síncrono. Ojo! El nombre del fichero sí tiene que tener toda la info:  TFF_E_AR. Pero en la imagen no hace falta poner el enable 2 veces

El símbolo ~ de negación se usa en verilog, pero gráficamente, en la imágenes se usa o bien un círculo (como en RST) o bien una barra horizontal encima del  nombre. El śimbolo ~ es mejor eliminarlo

El último cambio tiene que ver con la coherencia. Es importante que la negación se exprese de la misma manera tanto en la entrada como en la salida. Es decir, usar la misma nomenclatura. Aquí hay dos opciones. Usa la que más te guste:  Bien poner círculo en RST y Qn, o bien poner barras horizontales superiores en RST y Qn (y quitar los círculos):



Elige la que más te guste. Son equivalentes

Por lo de más ya está todo!!!!  Es un trabajo fantástico!!!  Haz el PR cuando quieras

Si no quieres modificar las imágenes no te preocupes. Haz el PR y las cambio yo. No hay problema

Muchísimas graciar por todo tu trabajo. El icestudio está quedando genial!!!  :-)

Saludos, Obijuan


Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Auto Generated Inline Image 1
Auto Generated Inline Image 2
Message has been deleted

Carlos

unread,
Sep 7, 2016, 11:37:17 AM9/7/16
to FPGA-WARS: explorando el lado libre
Hola Obijuan,
Ayer hice el PR voy a ver si alcanzo a corregir los nombres y las imágenes.

Saludos :D
-C

Jesús Arroyo

unread,
Sep 8, 2016, 5:31:50 AM9/8/16
to fpga-wars-explora...@googlegroups.com
Todo OK entonces?

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.

Carlos 47

unread,
Sep 8, 2016, 6:48:35 AM9/8/16
to fpga-wars-explora...@googlegroups.com
Si, corregí las imágenes e incluí más FF con el reset síncrono (también con sus respectivas imágenes), solo que se me paso avisar por aquí, adjunto una captura de pantalla con todos los nuevos bloques (están ubicados en sec del menú logic).

Saludos
-C

El 8 de septiembre de 2016, 04:31, Jesús Arroyo<jesus...@gmail.com> escribió:
Todo OK entonces?

El 7 de septiembre de 2016, 17:37, Carlos <carlos.santiago.diaz@gmail.com> escribió:
Hola Obijuan,
Ayer hice el PR voy a ver si alcanzo a corregir los nombres y las imágenes.

Saludos :D
-C

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-lib...@googlegroups.com.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.
nuevosBloques.png

Jesús Arroyo

unread,
Sep 8, 2016, 7:04:17 AM9/8/16
to fpga-wars-explora...@googlegroups.com
Ok.

He visto unos mini bugs:
  • DFF_RS: creo que debería ser rst_n en vez de rst
  • TFF_SR: rst_n por rst_i

En mi opinión creo que puede quedar un poco recargado el icono. Además es redundante. A lo mejor quedaría más claro añadir solamente el texto del bloque en SVG. También se podrían utilizar las labels de los pines en mayúscula.

PD: sin embargo los SVGs de FF son perfectos para hacer diagramas y documentación. Así que estaría guay tenerlos en un repo: https://github.com/FPGAwars/Tutorial-verilog-openfpga-icezum.

Qué opináis?


El 8 de septiembre de 2016, 12:48, Carlos 47 <carlos.san...@gmail.com> escribió:
Si, corregí las imágenes e incluí más FF con el reset síncrono (también con sus respectivas imágenes), solo que se me paso avisar por aquí, adjunto una captura de pantalla con todos los nuevos bloques (están ubicados en sec del menú logic).

Saludos
-C
El 8 de septiembre de 2016, 04:31, Jesús Arroyo<jesus...@gmail.com> escribió:
Todo OK entonces?

El 7 de septiembre de 2016, 17:37, Carlos <carlos.san...@gmail.com> escribió:
Hola Obijuan,
Ayer hice el PR voy a ver si alcanzo a corregir los nombres y las imágenes.

Saludos :D
-C

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-lib...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/ac22b552-6324-4740-82f8-75f00e69b703%40googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-lib...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.

Carlos 47

unread,
Sep 8, 2016, 8:02:09 AM9/8/16
to fpga-wars-explora...@googlegroups.com
Cierto, se me pasaron esos typos ;(, y si, si gustas que las imágenes queden para hacer documentación (aunque esta página también sirve http://wavedrom.com/ ) y los bloques que solo tengan los nombres.

¿Las imágenes las remuevo de resources/images?
Adjunto imagen de los nuevos bloques.

Saludos


El 8 de septiembre de 2016, 06:04, Jesús Arroyo<jesus...@gmail.com> escribió:
Ok.

He visto unos mini bugs:
  • DFF_RS: creo que debería ser rst_n en vez de rst
  • TFF_SR: rst_n por rst_i

En mi opinión creo que puede quedar un poco recargado el icono. Además es redundante. A lo mejor quedaría más claro añadir solamente el texto del bloque en SVG. También se podrían utilizar las labels de los pines en mayúscula.

PD: sin embargo los SVGs de FF son perfectos para hacer diagramas y documentación. Así que estaría guay tenerlos en un repo: https://github.com/FPGAwars/Tutorial-verilog-openfpga-icezum.

Qué opináis?

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.
bloques.png

Jesús Arroyo

unread,
Sep 8, 2016, 10:08:08 AM9/8/16
to fpga-wars-explora...@googlegroups.com
Buenas Carlos,

Si quieres deja las imágenes también en resources/images por si en algún momento fuera necesario utilizarlas.

Muchas gracias por el curro!!!

Un saludo.


--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.

Carlos 47

unread,
Sep 8, 2016, 4:20:18 PM9/8/16
to fpga-wars-explora...@googlegroups.com
Ya quedo arreglado en el último commit :D.

Saludos
-C

El 8 de septiembre de 2016, 09:08, Jesús Arroyo<jesus...@gmail.com> escribió:
Buenas Carlos,

Si quieres deja las imágenes también en resources/images por si en algún momento fuera necesario utilizarlas.

Muchas gracias por el curro!!!

Un saludo.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.

Jesús Arroyo

unread,
Sep 9, 2016, 4:39:39 AM9/9/16
to fpga-wars-explora...@googlegroups.com
Merged!

--
Has recibido este mensaje porque estás suscrito al grupo "FPGA-WARS: explorando el lado libre" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.

Jesús Arroyo

unread,
Sep 9, 2016, 7:53:16 AM9/9/16
to fpga-wars-explora...@googlegroups.com
Buenas,

He reorganizado los bloques FF. Lo interesante en Icestudio es tener los casos más generales, luego el usuario podrá particularizar.

Queda por tanto simplificado a biestables D con reset síncrono (por defecto) y asíncrono, y a biestables T con reset síncrono y asíncrono.

He añadido también las traducciones y unos SVGs con el texto DFF o DFF async para que no aparezca el nombre por defecto.

Gracias de nuevo Carlos por el curro.

Entre todos vamos poco a poco haciendo que las FPGAs sean más accesibles para todos :)

Un saludo.


El 9 de septiembre de 2016, 10:39, Jesús Arroyo <jesus...@gmail.com> escribió:
Merged!

Carlos

unread,
Sep 9, 2016, 1:06:42 PM9/9/16
to FPGA-WARS: explorando el lado libre
Que tal,
Cierto se ve mucho mejor así :D.

Saludos y gracias por hacer el iCEStudio open source :)

Reply all
Reply to author
Forward
0 new messages