Product SiteDocumentation Site

7.2. Automatización del Diseño Electrónico

La siguiente sección se concentra en los cambios del Fedora Electronic Lab (FEL) para Fedora 12. Fíjese que una serie de aplicaciones en FEL son de utilidad para una importante cantidad de comunidades. Particularmente, estas aplicaciones se describen en el Diseño del Circuito (que incluye simulación y diseño PCB), y en las secciones de Desarrollo Integrado de estas notas.

7.2.1. Revisión de Código Colaborativo

Una de las tantas facetas del diseño del hardware digital implica el seguimiento de muchos archivos, que deben introducirse en múltiples herramientas EDA. Los eventuales invormes de las listas de red son cuidadosamente analizados y registrados como parte de la metodología sign-off. Cada compañía monitorea estos archivos dependientes de cada proyecto, de acuerdo a la propia elección de una estructura de directorio y bajo cierto sistema de control de versión.
Se incluyó una solución de revisión de código eficiente y configable a la colección de Fedora. Esta solución de revisión por pares basada en trac también ayuda a crear enlaces y referencias cruzadas entre errores, tareas, conjuntos de cambios y archivos. Los coordinadores de proyectos tendrán una visión más realista del proyecto en desarrollo y el seguimiento del progreso simplificado con respecto a las distintas fechas límites y objetivos.

7.2.2. IDE predeterminado Eclipse

Con la ayuda y el apoyo del equipo Eclipse de Fedora, Eclipse se ha convertido en el principal IDE para desarrollo y documentación de HDL IP de FEL (Fedora Electronic Lab). Esta decisión se ha realizado para poder mantener verdadera interoperabilidad entre las herramientas ofrecidas por los diferentes proveedores de software integrado.
Los siguientes complementos provistos por defecto en la plataforma Laboratorio de Electrónica de Fedora mejorará :
  • diseño del frente
  • la autogeneración de documentación y mantenimiento de hojas de datos profesionales
  • la programación Perl/Tcl (módulos Perl que son como los de FEL10)
  • proyectos controlador por versión
Paquete Descripción
eclipse-veditor Ayuda a los diseñadores de CI/diseñadores de FPGA a desarrollar código Verilog/VHDL en Eclipse. Provee notificaciones en tiempo real de los errores y notificaciones de advertencia de errores léxicos, señales ausentes, señales innecesarias, etc.
eclipse-eclox Si el código vhdl tiene comentarios del estilo doxigen, se puede generar automáticamente un pdf que se puede usar en encuentros internos o enviarse al cliente.
eclipse-texlipse Dado que el pdf se genera desde latex, el complemento texlipse proveerá algúno formateo del diseño de página adicional y una fácil creación de pdf. La creación es ahora sólo Ctrl-s, en vez del clic manual como se haría en kile. Dicho esto, kile se eleminará del DVD Vivo FEL.
eclipse-cdt Provee herramientas de desarrollo incrustado en C y C++.
eclipse-dltk-tcl Los scripts Tcl se pueden mantener junto con el código HDL.
eclipse-epic Los scripts de Perl se pueden mantener junto con el código HDL.
eclipse-subclipse Se agrega integración con Subversion al IDE Eclipse
eclipse-egit Se agrega integración de control de versión distribuída con GIT al IDE Eclipse
Tabla 1. Complementos de Eclipse seleccionados para el diseño de hardware

7.2.3. Diseño de ASIC analógico

toped
Actualizado hasta la versión de consolidación 0.9.4. El paquete Toped de Fedora pone la variable TPD_GLOBAL a /usr/share/toped por defecto, para que el usuario pueda ejecutar toped sin problemas.
Graham Petley y Krustev Svilen proveyeron 2 archivos TELL como una demostración sobre cómo puede interactuar toped con Células Estándares Pharosc vía los analizadores GDSII y CIF de topes.
Puntos Sobresalientes
  • Un nuevo renderizador de gráficos que acelera los gráficos hasta 3,5 veces. Necesita openGL versión 1.4 (F-11 usa 1.3, pero esto no es un problema) y Objetos de Buffer Virtual. Se usará en el futuro como base para los efectos gráficos.
  • El renderizador viejo queda para cubrir los controladores gráficos que implementan versiones openGL más viejas y particularmente, escritorios virtuales.
  • La velocidad también fue mejorada significativamente.
  • Actualiza y corrige en las interfases externas. GDSII en particular.
  • Nuevo utilitario para conversión de los archivos de la tecnología Virtuoso(C) a TELL.
  • Formato TDT actualizado con nuevos registros. Versión actualizada a 0.7.
  • Formato TDT actualizado con nuevos registros. Versión actualizada a 0.7.
  • Más actualizaciones en la personalización de la interfase del usuario - barras de herramientas.
  • Actualizaciones en el manejo interno de las referencias a celdas. La capa 0 de resultado se maneja ahora como una capa normal.

Versiones viejas de Toped no podrán leer archivos TDT producidos por esta versión.

Hay cierta cantidad de código que no está todavía mezclado con el desarrollo principal, que incluye el analizador sintáctico del informe de error calibre. La sugerencia es hacerlo después del lanzamiento. Algunas características se pospusieron en vez de sacrificar la estabilidad en este momento.
Magic
Fedora Magic fue actualizado a 8.0.54.
El paquete Magic de Fedora tiene su propia documentación en un paquete separado llamado : magic-doc. Este último incluye algunos ejemplos de scmos y tutoriales. Los usuarios de Advanced Magic VLSI tendrían que leer la documentación de nuevo para captar los detalles finos de la serie 8.0.
Características:
  • delinea fuentes vectoriales (cortesía del proyecto freefont), y dice limpiar muchos problemas asociados con las etiquetas en Magic.
  • Todo sobre salida y manipulación de OpenGL está completa.
  • Tiene algunos operadores "cifoutput" para usar con el nuevo comando "cif paint", para la manipulación del diseño usando operadores booleanos.
  • El tiempo de ejecución fue mejorado.
  • Dos menúes adicionales se agregaron para la manipulación de grillas y configuración del texto.
Electric
electric se actualizó a 8.09.
Por favor tenga en cuenta que la gran mayoría de los usuarios en el área de electricidad utilizan complementos de terceros, que no pueden ser utilizados con FEL debido a incompatibilidades de licencia con Fedora. Habiendo clarificado esto, el equipo del Laboratorio Electrónico de Fedora entiende que liberar una nueva versión anularía la interoperabilidad con los complementos de usuario. Es por esto que las nuevas versiones llegarán una única vez a los repositorios updates-testing.

7.2.4. Diseño Digital

Dinotrace
Nuevo en Fedora 12, Dinotrace es un visor de forma de onda que entiene los Volcados de Cambio de Valor de Verilog, ASCII y otros formatos de trazo.
Permite poner cursores, resaltar señales, buscar, imprimir y otras capacidades superiores a muchos visores de forma de onda comerciales.
Dinotrace se ha optimizado para una veloz depuración. Con VTRACE, una falla simulada colocará automáticamente a los cursores sobre el lugar en donde se hayan producido los errores, y se agregarán los comentarios de manera visible en el visor con forma de onda. Hacer cuatro clics con el ratón hará que los errores sean destacados en los archivos de registro, y los valores de las señales en el error serán observados en la fuente.
Fedora también trae dinotrace-mode para emacs como emacs-dinotrace-mode.
eqntott
eqntott transforma expresiones lógicas booleanas en una tabla de verdad, muy útil a la hora de preparar entradas de paquetes express, obteniendo así una reducción de la lógica utilizada. eqntott is una novedad en Fedora 12.
expresso-ab
Nuevo en Fedora 12, espresso toma como entrada una representación de dos niveles de una función de dos valores (o de múltiples valores) Booleana, y produce la representación equivalente mínima. Es una herramienta de minimización de lógica booleana.
Verilator
Verilator es el simulador Verilog HDL libre más veloz. Compila Verilog sintetizable (además de algunos PSL, SystemVerilog y aserciones sintéticas) en código C++ o SystemC. Ha sido designado para proyectos extensos en donde el desempeño de simulaciones veloces es de importancia vital. Además, está particularmente bien diseñado para que los equipos de diseño de software integrado puedan crear modelos ejecutables de CPUs.
vrq
VRQ es un analizador sintáctico verilog modular que soporta herramientas de complementos para procesar verilog. Se pueden invocar múltiples herramientas en una línea de tuberías con una única ejecución de vrq. Es un analizador sintáctico genérico con soporte para herramientas de complementos de bajo nivel personalizables.
Alliance
El repositorio de desarrollo Fedora Alliance CVS obtuvo su revisión número 100 en agosto del 2009, relacionada con la estabilidad de las arquitecturas de 64 bits, y estamos contentos ya que los desarroladores fuente han aplicado todos los parches producidos por nosotros. También hemos compilado esta nueva versión para todos los repositorios de pruebas de Fedora, y para los de prueba de EPEL-5. También existe una nueva interfaz gráfica xgra, un visor Graph que será incluido en esta nueva versión.
No vamos a reemplazar Alliance VLSI por herb (que fue alentado para ser una alternativa) en Fedora. Antes de la liberación de F-11, el desarrollo de herb se encontraba activo, pero luego de la liberación, se estancó. Ya que la labor de Alliance VLSI se encuentra en una etapa de actividad, y además es receptiva a nuestros deseos, hoy en día no existe ninguna razón válida para desprendernos de Alliance en beneficio de herb.

7.2.5. Scripts en Perl para diseño de hardware

perl-SystemPerl
Este es un paquete nuevo para Fedora 12.
SystemPerl es una versión del lenguaje SystemC. Ha sido diseñado para expandir texto, de modo de poder reducir la innecesaria repetición del lenguaje. Al utilizar sp_preproc, los archivos de SystemPerl pueden ser expandidos a archivos C++ en tiempo de compilación, o ser expandidos en el lugar para convertirlos en archivos independientes y válidos de SystemC.|
perl-Verilog-Perl
system-config-samba se actualizó a la versión 3.123. Nuevas características incluídas:
  • Advertencia mejorada cuando se use "do" como un identificador.
  • Se corrigieron los identificadores de preprocesador con secuencias de escape, bug106.
  • Corregido el error de compilación de Perl 5.8.8, rt48226.
  • Corregido el error de compilación de Perl 5.8.0 con callbackgen

Aviso

perl-Verilog-Perl reemplaza a perl-Verilog. Los usuarios de Fedora son notificados de que deben modificar sus scripts de Perl en consecuencia.