De la pregunta no queda claro qué comportamiento simulará su programa: ¿simples ecuaciones de lógica combinatoria? ¿Lógica combinatoria y registrada? ¿Sincronización? ¿Requerimientos de energía? ¿Márgenes de ruido? ¿Gestión del árbol del reloj?
¿Cuál es una estimación aproximada del no total? de ICs admitidos en un software (Sourcforge Project Home) gratuito y de código abierto, esperado por usted?
Para el trabajo de diseño profesional, espero tener una selección de miles de partes y la opción de ampliar la biblioteca con nuevas partes según sea necesario. Recuerde que cada parte vendida por cada proveedor de circuitos integrados tiene algún mercado, un espacio de diseño donde fue diseñado para ser el mejor IC para ese propósito, por lo que quienquiera que esté haciendo el diseño que necesita ese IC es un usuario potencial para su herramienta de simulador, pero no si la herramienta no es compatible con ese IC.
Obviamente, a los estudiantes les puede servir mejor una selección mucho más limitada, correspondiente a lo que han aprendido en clase (pero también, diferentes cursos cubrirán material diferente).
Nombre alguno específico, IC (esencial / recomendado)
Para diseños lógicos simples, incluiría todas las puertas básicas (y, o, nand, ni, xor, xnor), flip-flops básicos (D, T, JK), más funciones comunes comunes (mux, demux, shift shift, counter, ram, ALU, ...)
Al ir más allá de las puertas discretas, ampliaría mucho su audiencia si incluyera las funciones equivalentes a medida que se implementan en varios CPLD y FPGA.
Además, recuerde que para la mayoría de los circuitos que usan flip-flops, necesitará tener algún tipo de fuente de reloj disponible. Muchos sistemas necesitarán varios relojes, y los diseñadores de esos
¿Solo el IC digital puede modelar un gran no. de circuito, o se requieren elementos analógicos junto?
Sus usuarios seguramente necesitarán algún tipo de circuito de fuente de reloj. Los circuitos de gestión de reloj PLL también son muy importantes en muchos sistemas digitales.
Para simular circuitos que utilizan la lógica de AND Y de drenaje abierto, deberá incluir resistencias pull-up de valores arbitrarios y (para simular el tiempo) diferentes cargas capacitivas.
Para simular la sincronización del circuito, sería muy útil tener componentes que representen los retrasos de la línea de transmisión entre chips, así como los efectos de las cargas capacitivas (parásitas o intencionales).
Es correcto nombrar IC con la misma función (como XOR) pero diferentes paquetes (como W, N, D, etc.), diferentes tipos (como LS, S), diferentes fabricantes como un solo nombre (como IC 7486)
IC 7400 & IC 7401 hace el mismo trabajo, así que está bien si me salto 7401
Para responder 4 & 5 juntos, realmente depende de tus metas. Para simular una funcionalidad lógica, puede omitir algunos IC o paquetes, o simplemente hacer que un modelo se pueda usar con varios nombres.
Si desea que los números de pines en el dibujo de su programa coincidan con lo que el usuario colocará en una placa de pruebas o PCB, deberá tener diferentes símbolos de dibujo para diferentes paquetes y tal vez para diferentes fabricantes (lo recuerdo) que en su época Motorola tenía una serie lógica 74xx que era totalmente compatible funcionalmente pero que usaba asignaciones de pin totalmente diferentes, por ejemplo).
Si incluye un comportamiento de tiempo, deseará que cada chip tenga un retraso de propagación distinto, tiempo de subida y bajada, tiempo de configuración y de espera, etc.