¿Cómo crear diagramas de bloques eficientemente?

4

TL; DR: Necesita un buen proceso de dibujo esquemático del diagrama de bloques.

Tabla de contenido

  1. actualidad y relevancia
  2. pregunta

Topicalidad y relevancia

Topicalidad : John F. Wakerly, en su libro Diseño digital: Principios y práctica, Cuarta edición , ( Amazon , sitio del libro ) dedica una sección completa, 6.1, a" Documentación Normas. " Dice que "la buena documentación es esencial para el diseño correcto y el mantenimiento eficiente de los sistemas digitales" (p342; el énfasis es mío). Luego describe seis componentes principales de una buena documentación, de los cuales los diagramas de bloques son el segundo.

La siguiente sección, 6.1.1, está dedicada a los diagramas de bloques, sus características y su uso. Por ejemplo, nos dice que "las señales de control y los buses importantes deberían tener nombres, generalmente los mismos nombres que aparecen en el esquema más detallado". (p346) Observaré que esta es la única subsección dedicada específicamente a cualquiera de los seis tipos de documentación que describe.

Relevancia : es evidente que cualquier proyecto grande estará compuesto por varios componentes. Estos componentes se muestran en un diagrama de bloques. Puede haber varios niveles de diagramas de bloques, que a su vez describen los bloques de niveles superiores que utilizan bloques de niveles inferiores de forma principalmente jerárquica. Para mantener un proyecto comprensible tanto para el creador (a lo largo del tiempo) como para otros, los diagramas de bloques son esenciales. Por lo tanto, un buen diseño digital incluye la creación de estos diagramas.

Si el diagrama requiere más tiempo y esfuerzo para crear que otras etapas del proceso de diseño, es más probable que se omita, se ponga en cortocircuito o no se le preste la atención adecuada. Soy un nuevo diseñador digital y he pasado una semana completa (varias horas por noche) creando un diagrama de bloques de la ruta de datos de mi procesador MIPS. Para mí, esto parece una cantidad excesiva de tiempo para dedicar a crear un diagrama de bloques, especialmente cuando podría haber creado el mismo diagrama en menos de una hora con papel y lápiz.

Hay muchas capas para el diseño digital, desde el concepto hasta el diagrama, desde el esquema hasta el HDL, la síntesis o la cinta o lo que suceda a continuación (soy un novato, así que no puedo asegurarlo). La capacidad de crear esta forma de diagrama de bloques de documentación de manera eficiente parece ser altamente relevante para el diseño digital. Después de todo, el sobre el sitio para este intercambio de pila indica que debe consultar "un problema real al que se haya enfrentado" que trata de "un problema de diseño electrónico específico".

Bueno, aquí está mi problema: ¿Cómo creo (y mantengo) de manera eficiente los diagramas de bloques? Me encantaría saber acerca de los procedimientos, procesos, herramientas y cosas por el estilo, porque lo estoy haciendo. Hasta donde un novato claramente es insostenible.

Pregunta

Estoy trabajando en la construcción de una CPU de estilo MIPS de arquitectura completa en SystemVerilog, ampliando los conceptos en Diseño digital y arquitectura de computadoras. 2e . Esto se está haciendo con Quartus II ejecutándose en BootCamp.

Para mantener las cosas en orden a medida que se vuelven más complejas, quiero mantener el diagrama de bloques del procesador actualizado con mi código SV. Hasta ahora he estado utilizando copias impresas de los diagramas en el libro, generalmente a partir de éste pero a veces utilizando otros de lo publicado ( impar) clave de respuesta (vea el enlace del libro para esta y otras versiones de PDF).

Entonces, recreé gran parte del diagrama en Omnigraffle Pro 5, que he usado durante años. ( Editar : desde entonces he completado el diagrama de bloques para la ruta de datos del procesador.) Sin embargo, este resultado incompleto me ha llevado hasta ahora casi 10 horas, lo cual es completamente inaceptable, dado que puedo dibujar todo el asunto. probablemente en 20 minutos y modifique los diagramas pre-generados (aunque con más desorden a medida que aumenta la complejidad) en cinco. Es muy difícil etiquetar líneas, conectar líneas a otras líneas, asegurarse de que las líneas no se crucen en ubicaciones erróneas e incluso conectar líneas a objetos en este programa. Nunca me di cuenta de esto en el pasado, ya que nunca tuve que hacer diagramas de tal complejidad.

Claramente necesito un mejor proceso, método y / o herramientas. Doy la bienvenida a las sugerencias. Gracias!

    

2 respuestas

2

He estado trabajando profesionalmente como ingeniero durante más de 20 años y puedo decir que si bien no hay una aplicación única para crear diagramas de bloques, la que veo más utilizada que ninguna otra es Visio. Además de la ingeniería de hardware, la herramienta también es ampliamente utilizada por los ingenieros de redes, hasta el punto en que las empresas como Cisco crean plantillas para ella.

La advertencia aquí es que Visio es una herramienta solo para ventanas. A pesar de que eres BootCamp, quizás no sea un show-stopper.

    
respondido por el David Gardner
2

Omni Graffle no debería tomar tanto tiempo, hay herramientas en el software para superar algunos de los problemas que mencionó. enlace tiene algunos de ellos, y construimos un applecript Eso contó todos los elementos de nuestro dibujo para facilitar la planificación. Un ejemplo del script que escribimos está en enlace . Espero que ayude.

    
respondido por el Mike Kostrey

Lea otras preguntas en las etiquetas