Software para simular la lógica del chip ASIC

¿Qué software se puede usar para emular los arreglos de puertas (¿matriz de transistores?) de un ASIC para probar celdas lógicas predefinidas e interconexiones personalizadas antes de ordenar un dispositivo final?

Ya sea en PC o Mac.

Podría ser similar al software para simular circuitos eléctricos , pero no sé si eso es compatible con dispositivos ASIC.

No hay una etiqueta de precio específica, pero debería ser razonable.

Respuestas (3)

¿Estás realmente desarrollando un ASIC? Si es así, debería tener acceso a simuladores de potencia industrial como VCS y Model Sim.

Si no es así, use el simulador que viene con las herramientas de su proveedor de FPGA. Xilinx, Altera y creo que Lattice los tienen. Tienen licencias gratuitas para sus dispositivos pequeños y medianos.

Además, "emulador" a menudo se refiere a "un grupo de FPGA que fingen ser un ASIC antes de comprometernos a eliminarlo en cinta" en lugar de una simulación solo de software. Leer más en Wikipedia .

Como se mencionó, la emulación se refiere a implementar un diseño HDL en un conjunto de FPGA.

Si realmente desea simular y verificar a nivel de transistor, necesitará más que un simple simulador, ya que hay problemas de tiempo involucrados. También deberá colocar y enrutar los transistores, y tomar los datos de retardo del diseño y anotarlos nuevamente en la simulación funcional original.

Estas herramientas, a nivel básico, cuestan más de $750,000 dólares. Sugeriría que en lugar de un ASIC, use las siguientes herramientas FPGA gratuitas:

http://dl.altera.com/?edition=lite

https://www.xilinx.com/products/design-tools/vivado/vivado-webpack.html

Una vez que tenga el FPGA funcionando, puede comprar las herramientas necesarias para completar el ASIC. Esto debería costar menos de $ 2000 en total. Puede usar compañías de servicios para construir el ASIC para usted:

http://fidus.com/

https://www.alineados.com/

https://www.esilicon.com/company/

que probablemente será más barato que hacerlo usted mismo la primera o quinta vez.

Si está seguro de que desea realizar una simulación a nivel de transistor, VHDL no funcionará para usted. Verilog contiene elementos a nivel de transistor como cmos, nmos, tranif, etc. que permitirán la simulación a nivel de transistor. Aldec y Mentor Graphics ofrecen los simuladores de menor costo que serían aprobados para la mayoría de las fundiciones ASIC, menos de $5000.

Aldec: https://www.aldec.com/es/productos/verificacion_funcional/riviera-pro

Mentor (questa es más cara que modelsim): https://www.mentor.com/products/fv/questa/

Revise este análisis para ASIC vs FPGA para el inicio:

https://spectrum.ieee.org/tech-talk/computing/hardware/lowbudget-chip-design-how-hard-is-it

y si decide ir a ASIC, intente pasar por una fundición que le permitirá comprar una porción de la oblea de silicio en lugar de la oblea completa. Le proporcionarán archivos que le permitirán crear los archivos sdf de temporización necesarios para simular sus circuitos de nivel de transistor.

Según tengo entendido, la lógica de matriz de puertas ASIC se puede escribir en un lenguaje de descripción de hardware ( HDL ), que es una especie de lenguaje informático especialmente diseñado para describir la estructura y el comportamiento de los circuitos electrónicos.

Entonces, para realizar la simulación lógica , solo necesita un software que pueda simular/depurar el código HDL, ya sea para el diseño de circuitos analógicos, el diseño de circuitos digitales o el diseño de placas de circuitos impresos.

Hay una variedad de lenguajes de diseño de implementación de HDL, así que para obtener más detalles, consulte ejemplos de HDL en Wikipedia. Dependiendo de dicha implementación, el código se convierte en VHDL ( Lenguaje de descripción de hardware VHSIC ).

VHDLse utiliza con frecuencia para dos objetivos diferentes: la simulación de diseños electrónicos y la síntesis de tales diseños. La síntesis es un proceso en el que un VHDL se compila y asigna a una tecnología de implementación, como un FPGA o un ASIC.

Una puerta AND simple en VHDL se parecería a wiki :

-- (this is a VHDL comment)

-- import std_logic from the IEEE library
library IEEE;
use IEEE.std_logic_1164.all;

-- this is the entity
entity ANDGATE is
  port ( 
    I1 : in std_logic;
    I2 : in std_logic;
    O  : out std_logic);
end entity ANDGATE;

-- this is the architecture
architecture RTL of ANDGATE is
begin
  O <= I1 and I2;
end architecture RTL;
Si bien esto sugiere una dirección para una respuesta, no es una respuesta.