Перейти к содержанию
    

Есть описание устройства на verilog в quartus'e. Подскажите как произвести logic synthesis и получить netlist. Что бы по нему перейти на следующие этапы создания ИС (размещение элементов и т.д.).

 

Правильно ли я понимаю процесс синтеза и сущность netlist'a:

 

Logic synthesis - процесс замены логических элементов описания устройства на их схемные решения (очень грубо говоря транзисторы или какую-то элементную базу).

В результате чего получим netlist - грубо говоря что-то типа "электрической принципиальной схемы" в специальном формате. После чего можем произвести размещение этой схемы на кристалле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть описание устройства на verilog в quartus'e. Подскажите как произвести logic synthesis и получить netlist. Что бы по нему перейти на следующие этапы создания ИС (размещение элементов и т.д.).

 

Правильно ли я понимаю процесс синтеза и сущность netlist'a:

 

Logic synthesis - процесс замены логических элементов описания устройства на их схемные решения (очень грубо говоря транзисторы или какую-то элементную базу).

В результате чего получим netlist - грубо говоря что-то типа "электрической принципиальной схемы" в специальном формате. После чего можем произвести размещение этой схемы на кристалле.

 

Вам произвести синтез этого устройства из Verilog описания. Уже не помню как это зовется в квартусе... все вплоть до fitera чтобы получить netlist.

 

Но я так понимаю что Вам нужно получить файл для загрузки (из проверенного Verilog описания), поэтому проводите полную компиляцию проекта вместе с фитингом (посмотрите на какой частоте будет работать в конкретном чипе).

 

Для этого создаете модуль верхнего уровня в формате язака Verilog и вроде горячаие клавиши "CLTR+D"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обычно после синтеза сторонними синтезаторами исходных кодов на VHDL или Verilog исходным нет листом является файл с расширением *.edf

Который уже передаётся для программ размещения на кристалле, например в тот же Quartus, но данный продукт для поддерживаемых семейств выполняет полный цикл с синтезом, размещением и моделированием и тд и тп :о). Для Veriloga утверждается что Quartus заточен на высоком уровне.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. после синтеза в квартусе и получения .edf нетлиста, этот edf файл можно использовать в другой программе для размещения на кристалле (он и есть та "электрическая принципиальная схема"?). Ведь quartus создан только для FPGA, а нужно на основе verilog кода создать свой чип.

 

Я закончил на этапе "Functional Simulation" в Quartus'e. Fitting немогу выполнить, так как устройство невлазит ни в один чип :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я закончил на этапе "Functional Simulation" в Quartus'e. Fitting немогу выполнить, так как устройство невлазит ни в один чип :)

 

При функциональной симмуляции квартус создает "функциональный" нетлист (в окошке симуляции есть такая кнопочка даже). Но он "функциональный" отличается от полного.

Вы можете отдельно запустить только синтезатор - в меню около справки есть именно Ваш выбор для создания нетлиста (но называется вроде не так) .

 

Т.е. после синтеза в квартусе и получения .edf нетлиста, этот edf файл можно использовать в другой программе для размещения на кристалле (он и есть та "электрическая принципиальная схема"?). Ведь quartus создан только для FPGA, а нужно на основе verilog кода создать свой чип.

Но возникает вопрос если Ваше описание не помещается даже в Стратикс (II) - Вы собираетсь это описание загонять в ПЛИС?

 

Или Вас интересовал маршрут проектирования для ASIC? - Тогда Вам явно нужен другой пакет, а для него на вход ЛУЧШЕ подавать именно Verilog описание, а не лист связей(нетлист)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. после синтеза в квартусе и получения .edf нетлиста, этот edf файл можно использовать в другой программе

Нельзя. Результат синтеза Quartus держит в своем собственном формате. edif Quartus воспринимает исключительно как входной формат.

нужно на основе verilog кода создать свой чип.

ASIC? Для этого использовать Quartus ни разу нельзя. Там нужны совсем другие САПРы.

Я закончил на этапе "Functional Simulation" в Quartus'e. Fitting немогу выполнить, так как устройство невлазит ни в один чип :)

:biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. после синтеза в квартусе и получения .edf нетлиста, этот edf файл можно использовать в другой программе для размещения на кристалле (он и есть та "электрическая принципиальная схема"?). Ведь quartus создан только для FPGA, а нужно на основе verilog кода создать свой чип.

 

Я закончил на этапе "Functional Simulation" в Quartus'e. Fitting немогу выполнить, так как устройство невлазит ни в один чип :)

 

 

"электрическая принципиальная схема" это и есть Verilog. Просто описан словами :о). А какой чип вы выбрали? Вообще какая задача стоит тогда более предметно можно что-то рекомендовать???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Quartus использовался только для отладки verilog кода. А далее интересует ASIC.

Поэтому казалось, что оптимальным вариантом перехода с квартуса на что-то более предназначенное для ASIC будет сощдание нетлиста и в другом пакете начинать работать с нет листом.

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

Но код содержит мегафункции Quartus, можно ли будет его использовать в других ASIC-ориентированных приложениях??? Наверное нет :(

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

 

P.S. Прошу прощения за путаницу с терминологией и возможно неграмотное описание задачи :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это Еdif Netlist.

За инструментарием к производителю ASIC он же и выдаст требования. Это вопрос не абстрактного а вполне конкретного характера. На Телесистемах когда-то давно выкладывали адреса производителей в Тайване. В общем Google рулит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но код содержит мегафункции Quartus, можно ли будет его использовать в других ASIC-ориентированных приложениях??? Наверное нет :(

 

Библиотеки мегафункций в Квартусе, если я не ошибаюсь, уже заточены под Altera

(Иначе Вы просто можете подключить к своему проекту библиотеку с мегафнкциями Квартуса)

 

 

Странный подход - предполагая ASIC писать платформенно-зависимый код для отработки...

 

Чтобы получить полное Verilog описание Вашего проекта для ASIC, могу посоветовать,

что проще переписать на Verilog'e:

+ используемые мегафункции Quartus

+ написать без мегафункций

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странный подход - предполагая ASIC писать платформенно-зависимый код для отработки...

Опыта "0". Подсказали, что на первых порах, при отладке verilog описания достаточно и квартуса, а дальше можно будет легко перейти к тому что нужно.

Ну и код не совсем платформенно зависимый...старался как можно независимей...но....

Чтобы получить полное Verilog описание Вашего проекта для ASIC, могу посоветовать,

что проще переписать на Verilog'e:

+ используемые мегафункции Quartus

+ написать без мегафункций

Есть проблемка....из мегафункций используется только умножение и суммирование для чисел с плавающей запятой (IEEE-754). Т.е. достаточно эти функции заменить своими.

Но где их найти? Я так понимаю написание этих функций самому займет не мало времени.

Или все-таки можно как-то вытянуть их с квартуса и этого будет достаточно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть проблемка....из мегафункций используется только умножение и суммирование для чисел с плавающей запятой (IEEE-754). Т.е. достаточно эти функции заменить своими.

Но где их найти? Я так понимаю написание этих функций самому займет не мало времени.

Или все-таки можно как-то вытянуть их с квартуса и этого будет достаточно?

 

Правильней называть "с плавующей точкой" (floating point).

Насколько я знаю в ПЛИС операции с "плавующими" числами занимают значительно больше ресурсов(произодительности). Если есть возможность переписать алгоритм, то лучше использовать fixed point.

 

Попробуйте привести здесь эти самые функции из библиотеки квартуса, надо видеть код, чтобы понять в каком базисе он написан. Файлы с полным описанием можно, если проследить дерективу include

 

Подозреваю, что обширно используются специальные умножители Altera (как встроеные блоки)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Исходный код модуля для арифметических операций с плавающей точкой можно запросто скачать с www.opencores.org (Floating Point Unit).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В niosII edk 6.0 входит fpalu для работы с плавающей точкой, в открытом коде.

This component creates hardware for floating point single-precision add, subtract, multiply and optionally divide.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое!

Попробую заменить альтервоские модули умножения и суммирования.

Но из всего выше сказаного и из собственных подозрений наверное перейду к числам с фиксированной точкой.

Так что, если у кого есть линки на fixed point прошу подсказать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...