[icestudio][wishlist] 'Bit' y 'Config' al menu 'Logic' y cambios en Inputs

72 views
Skip to first unread message

Carlos

unread,
Feb 18, 2017, 1:19:31 AM2/18/17
to FPGAwars: explorando el lado libre
Que tal,

Estaba por hacer un PR con el cambio de localización del menú 'Bit' y 'Config' poniéndolos dentro del menú 'Logic', tal vez el espacio que ocupan podría utilizarse en un futuro para otros menús.
¿Creen que seria útil hacer ese cambio?

* Otro cambio que creo se podría hacer es asignarle pull-up o pull-up inversora a las entradas a la hora de crearlas y señalarlo con algún simbolo, similar al 'Show Clock', estuve revisando el código que creo se ejecuta cuando se crea una nueva entrada, esta localizado en app/scripts/services/blocks.js, la funcion newBasicInput(addCellCallback)

Intente agregar un par de checkboxes y sus respectivas variables (en negritas los cambios):

function newBasicInput(addCellCallback) {
      var blockInstance = {
        id: null,
        data: {},
        type: 'basic.input',
        position: { x: 4 * gridsize, y: 4 * gridsize }
      };
      utils.inputcheckbox2prompt([
        gettextCatalog.getString('Enter the input blocks'),
        gettextCatalog.getString('FPGA pin'),

        gettextCatalog.getString('Pull-Up'),
        gettextCatalog.getString('Inv Pull-Up'),
        gettextCatalog.getString('Show clock')
      ], [
        'in',
        true,
        false,
        false,

        false
      ],
        function(evt, values) {
          var labels = values[0].replace(/ /g, '').split(',');
          var virtual = !values[1];
          var pullUp = values[2],

          var pullUpInv = values[3],
          var clock = values[4];
          // Validate values
          var portInfo, portInfos = [];
          for (var l in labels) {
            if (labels[l]) {
              portInfo = utils.parsePortLabel(labels[l]);
              if (portInfo) {
                evt.cancel = false;
                portInfos.push(portInfo);
              }
              else {
                evt.cancel = true;
                alertify.warning(gettextCatalog.getString('Wrong block name {{name}}', { name: labels[l] }));
                return;
              }
            }
            else {
              evt.cancel = true;
              //return;
            }
          }
          // Create blocks
          for (var p in portInfos) {
            portInfo = portInfos[p];
            var pins = getPins(portInfo);
            blockInstance.data = {
              name: portInfo.name,
              range: portInfo.rangestr,
              pins: pins,
              virtual: virtual,
              clock: clock
            };
            if (addCellCallback) {
              addCellCallback(loadBasic(blockInstance));
            }
            // Next block position
            blockInstance.position.y += (virtual ? 10 : (6 + 4 * pins.length)) * gridsize;
          }
      });
    }


Quise ejecutar icestudio para ver el efecto de los cambios pero nunca cargo ;(, debe de faltarme algo dentro del for que crea los bloques, ¿algún tip?

Saludos
-c

Jesús Arroyo

unread,
Feb 20, 2017, 8:58:26 AM2/20/17
to FPGAwars: explorando el lado libre
Hola Carlos,


El sábado, 18 de febrero de 2017, 7:19:31 (UTC+1), Carlos escribió:
Que tal,

Estaba por hacer un PR con el cambio de localización del menú 'Bit' y 'Config' poniéndolos dentro del menú 'Logic', tal vez el espacio que ocupan podría utilizarse en un futuro para otros menús.
¿Creen que seria útil hacer ese cambio?

Con respecto a esto lo ideal es utilizar colecciones: http://icestudio.readthedocs.io/en/latest/source/howto.html#create-a-collection-package. Con ellas se puede configurar totalmente el menú de bloques, así como las secciones File > Blocks y File > Examples. De todas formas sí me gustaría darle una vuelta a la colección que viene por defecto (esta es la que viene instalada con Icestudio) para añadir, quitar o reestructurar bloques, ahora que tenemos buses y parámetros.


Con respecto a esto te comento. Los formularios de configuración están incrustados en las notificaciones de AlertifyJS (en el futuro serán prompts nativos en Angular2). Si vas a crear un nuevo prompt deberías crear una nueva función en el servicio utils que te cree la parte gráfica y luego llamarlo desde el servicio de blocks. Además habría que modificar el modelo de vista de los bloques Input en la parte de JointJS joint.shapes para renderizar los flags de los bloques. De todas formas la funcionalidad que planteas no la veo, por cómo se gestionan los pullups en verilog. Al utilizar un flag habría que insertar la información del pull up en el compilador haciendo que no genere verilog estándar, sino sujeto a la plataforma ICE40.
 
Saludos
-c

Un saludo.

Carlos

unread,
Feb 20, 2017, 1:09:12 PM2/20/17
to FPGAwars: explorando el lado libre
Hola Jesús,

Ahora entiendo mejor el uso de las colecciones, intentare cambiar el menú con ellas :D. Con respecto a las pull-ups tienes razón no es tan bueno generar el verilog tan especifico para las iCE, igual lo que me comentas me sirve para intentar hacer las maquinas de estado.

Hoy revisando twitter vi esto https://twitter.com/gsaintgenest/status/714714150925180930 [imagen de abajo], ¿es parecido a lo que quieren implementar con icestudio funcionando en un navegador?



Saludos
-C

Jesús Arroyo

unread,
Feb 20, 2017, 2:16:23 PM2/20/17
to FPGAwars: explorando el lado libre
Hola Carlos,


El lunes, 20 de febrero de 2017, 19:09:12 (UTC+1), Carlos escribió:
Hola Jesús,

Ahora entiendo mejor el uso de las colecciones, intentare cambiar el menú con ellas :D. Con respecto a las pull-ups tienes razón no es tan bueno generar el verilog tan especifico para las iCE, igual lo que me comentas me sirve para intentar hacer las maquinas de estado.


Cualquier pregunta que tengas, ya sabes ;)
 
Hoy revisando twitter vi esto https://twitter.com/gsaintgenest/status/714714150925180930 [imagen de abajo], ¿es parecido a lo que quieren implementar con icestudio funcionando en un navegador?


 
Ese proyecto es un editor como Atom. Sería el equivalente al Apio IDE pero basado en la nube. Parece ser que lanza un servidor que proporciona una API de acceso a la toolchain de icestorm. Y desde el editor (cliente en Javascript) se editan los ficheros y se llama al API. Tiene buena pinta. Y es basado en web ;)


Saludos
-C

Juanma Rico

unread,
Feb 21, 2017, 3:03:18 AM2/21/17
to FPGAwars: explorando el lado libre

¡¡Uff!! ¡Qué bien se ve! Dan ganas de probarlo... :)

Gracias Carlos, buen aporte.

Juanma Rico

unread,
Feb 21, 2017, 3:18:42 AM2/21/17
to FPGAwars: explorando el lado libre
Mi francés no es muy bueno (diría que casi nulo...) pero si no entiendo mal...
¿han desarrollado una placa que se programa directamente por ethernet en lugar de por un puerto serie (USB)?
¡Guau! ¡Eso abre un montón de posibilidades de programación remota!
¿Alguien se anima a una conjunta para fabricar las placas? jejejejeje

Carlos

unread,
Feb 21, 2017, 3:56:37 PM2/21/17
to FPGAwars: explorando el lado libre
Hola Juanma,

Creo que la tarjeta que desarrollaron se llama ecowlogic (con iCE de 1k y 8k), pero no he encontrado información al respecto, tal vez se programa por USB, no vi el post donde indiquen que lo hagan por ethernet heheh.

Saludos
-c

Juanma Rico

unread,
Feb 21, 2017, 4:25:31 PM2/21/17
to FPGAwars: explorando el lado libre
Hola Carlos, ya te digo, mi francés no es muy bueno, pero mirando por encima la tarjeta no veo un FTID... y de este párrafo:

Elles ne nécessittent ni sonde de programmation, ni driver, ni même l'installation de logiciel spécifique, un simple navigateur web suffit ! Un contrôleur Ethernet ainsi qu'un serveur embarqué permettent le pilotage des fonctions principales de la carte.

Deduzco que la programación se hace en remoto y por ethernet... si hay alguien del grupo que sepa más francés y que nos pueda iluminar... se lo agradeceremos.

De todas formas, como es hardware libre, está en KiCAD y yo funciono por impulsos... :)
Hoy mismo he pedido fabricar unas PCB's a China... Cuando lleguen y consiga soldar los componentes mínimos os cuento...

Por supuesto la conjunta sigue en pie si alguien se quiere animar... ;)

Un saludo

Carlos

unread,
Feb 21, 2017, 6:48:28 PM2/21/17
to FPGAwars: explorando el lado libre
Hola Juanma,
pues en mi caso soy distraído y no encuentro el texto en francés xD pero encontré esto:

¿Es la misma que mandaste a hacer?


Saludos

Carlos

Juanma Rico

unread,
Feb 22, 2017, 2:34:18 AM2/22/17
to fpga-wars-explora...@googlegroups.com
Sí, en un impulso miré por encima la PCB por KiCAD y dije... ¡Qué diablos! ¡La mando a fabricar!. Probé con la configuración más económica que ofrecía el fabricante y los ficheros de greber pasaron el test, así que ya están en marcha. ;)

Saludos

--
Has recibido este mensaje porque estás suscrito a un tema del grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/fpga-wars-explorando-el-lado-libre/y-AT3WXYAko/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, 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.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/d8a8345a-7f06-4ad6-8d2a-02d2a4d057e9%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Juan Gonzalez Gomez

unread,
Feb 22, 2017, 6:58:38 AM2/22/17
to FPGA-WARS: explorando el lado libre
Hola,

De la Icezum Alhambra v1.1, en el repo sólo están los gerbers y el proyecto para Altium. Todavía no he tenido tiempo de migrarlo a Kicad. Lo tengo en el TODO.  Las fuentes que hay en Kicad son de la versión 1.0

Saludos, Juan

El 22 de febrero de 2017, 8:34, Juanma Rico <juan...@gmail.com> escribió:
Sí, en un impulso miré por encima la PCB por KiCAD y dije... ¡Qué diablos! ¡La mando a fabricar!. Probé con la configuración más económica que ofrecía el fabricante y los ficheros de greber pasaron el test, así que ya están en marcha. ;)

Saludos
El 22/02/2017 00:48, "Carlos" <carlos.santiago.diaz@gmail.com> escribió:
Hola Juanma,
pues en mi caso soy distraído y no encuentro el texto en francés xD pero encontré esto:

¿Es la misma que mandaste a hacer?


Saludos

Carlos

--
Has recibido este mensaje porque estás suscrito a un tema del grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/fpga-wars-explorando-el-lado-libre/y-AT3WXYAko/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, 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 "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar 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.

Juanma Rico

unread,
Feb 22, 2017, 7:29:13 AM2/22/17
to FPGAwars: explorando el lado libre

Genial Juan,

eso precisamente te iba a preguntar, si la nueva remesa de placas (v1.1) se realizarán con los gerbers generados desde Altium o ya directamente desde KiCAD, por tu respuesta imagino que aún van por Altium.

También aprovecho el hilo y te pregunto: ¿Hay posibilidad de que cuando se compren los componentes para los financiadores de las nuevas placas, se compren componentes extras para el resto que ya tenemos la nuestra?

Todo más bien pensando solo o fundamentalmente en los chips ice40 de lattice que imagino si se compran en grandes cantidades el precio bajará y así habrá quién se anime (como es mi caso) a integrar las FPGA libres en otros trabajos libres como la tarjeta ecow-logic que nos ocupa...

No sé como lo ves, igual es contraproducente tener tanta disparidad de tarjetas libres funcionando por ahí... y existe la posibilidad de que Jesús finalmente nos mate como tenga que integrar más tarjetas en Icestudio... jejejeje ;)

Un saludo

Juan Gonzalez Gomez

unread,
Feb 22, 2017, 8:19:49 AM2/22/17
to FPGA-WARS: explorando el lado libre
Hola Juanma,

  La icezum es libre, por lo que cada uno se la puede construir si quiere. Nunca es contraproducente :-)  Es una placa compleja, y echarla a andar cuesta, pero por lo demás no hay inconveniente. Cada uno tiene la libertad de hacerlo (Me encanta el hardware libre :-)

  Lo que sí ya es más complicado es la gestión de los componentes. Todo eso lo está llevando Eladio, y ahí las excepciones sí llevan tiempo de gestión. Si hay que gestionar una lista de gente que quiere ciertos componentes, junto con la produccción y eso... uffff... yo prefiero que la gente haga una conjunta de componentes por su cuenta. Mezclarlo con la producción actual nos puede resultar muy tedioso.

Eso sí, una vez listas las placas de esta tanda, si hay componentes sobrantes, se pueden poner a disposición. Pero todo eso lo tiene que evaluar Eladio que es el que está gestionando la fabricación

Saludos, Obijuan

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar 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.
Reply all
Reply to author
Forward
0 new messages