Программное обеспечение для имитации логики чипа ASIC

Какое программное обеспечение можно использовать для эмуляции массивов вентилей ASIC (матрицы транзисторов?), чтобы протестировать предопределенные логические ячейки и пользовательские межсоединения перед заказом окончательного устройства?

Либо на ПК, либо на Mac.

Может быть похоже на программное обеспечение для моделирования электрических цепей , но я не знаю, поддерживает ли оно устройства ASIC.

Конкретной цены нет, но она должна быть разумной.

Ответы (3)

Вы действительно разрабатываете ASIC? Если это так, у вас должен быть доступ к симуляторам промышленной прочности, таким как VCS и Model Sim.

Если нет, используйте симулятор, поставляемый с инструментами вашего поставщика ПЛИС. У Xilinx, Altera и, кажется, у Lattice они есть. У них есть бесплатные лицензии для их малых и средних устройств.

Кроме того, «эмулятор» часто относится к «группе FPGA, притворяющихся ASIC, прежде чем мы обязуемся снять ее с ленты», а не к программному моделированию. Подробнее читайте в Википедии .

Как уже упоминалось, эмуляция относится к реализации дизайна HDL на наборе FPGA.

Если вы хотите по-настоящему смоделировать и проверить на уровне транзистора, вам понадобится нечто большее, чем просто симулятор, поскольку возникают проблемы с синхронизацией. Вам также потребуется разместить и развести транзисторы, а также взять данные о задержке из макета и аннотировать их обратно в исходную функциональную симуляцию.

Эти инструменты на базовом уровне стоят более 750 000 долларов США. Я бы предложил вместо ASIC использовать следующие бесплатные инструменты FPGA:

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

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

Как только у вас заработает FPGA, вы можете купить инструменты, необходимые для завершения ASIC. Это должно стоить менее 2000 долларов. Вы можете использовать сервисные компании для создания ASIC для вас:

http://fidus.com/

https://www.aligned.com/

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

что, вероятно, будет дешевле, чем делать это самостоятельно в первый или пятый раз.

Если вы уверены, что хотите симулировать транзисторный уровень, VHDL вам не подойдет. Verilog содержит элементы транзисторного уровня, такие как cmos, nmos, tranif и т. д., которые позволяют моделировать транзисторный уровень. Aldec и Mentor Graphics предлагают симуляторы с самой низкой стоимостью, которые были бы одобрены для большинства производителей ASIC, менее 5000 долларов.

Альдек: https://www.aldec.com/en/products/functional_verification/riviera-pro

Ментор (questa дороже, чем modelim): https://www.mentor.com/products/fv/questa/

Просмотрите этот анализ для ASIC и FPGA для запуска:

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

и если вы решите перейти на ASIC, попробуйте пройти литейный цех, который позволит вам купить часть кремниевой пластины вместо всей пластины. Они предоставят вам файлы, которые позволят вам создать файлы синхронизации sdf, необходимые для моделирования ваших схем транзисторного уровня.

Насколько я понимаю, логика массива вентилей ASIC может быть написана на языке описания оборудования ( HDL ), который является своего рода компьютерным языком, специально разработанным для описания структуры и поведения электронных схем.

Таким образом, для выполнения логического моделирования вам просто нужно программное обеспечение, которое может моделировать / отлаживать код HDL для проектирования аналоговых схем, проектирования цифровых схем или проектирования печатных плат.

Существует множество языков проектирования реализации HDL, поэтому для получения более подробной информации см . примеры HDL в Википедии. В зависимости от такой реализации код преобразуется в VHDL ( язык описания оборудования VHSIC ).

VHDLчасто используется для двух разных целей: моделирования электронных конструкций и синтеза таких конструкций. Синтез — это процесс, при котором VHDL компилируется и преобразуется в технологию реализации, такую ​​как FPGA или ASIC.

Простой логический элемент И в VHDL будет выглядеть примерно как вики :

-- (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;
Хотя это предлагает направление для ответа, это не ответ.