Процесс разработки FPGA подробно вы его понимаете?

  Процесс разработки ПЛИС подробно является использование инструментов EDA для разработки процесса чип FPGA.

  Процесс разработки ПЛИС, как показано в деталях, в том числе конструкции схемы, вход дизайн, синтез (оптимизация), расположение (реализации и оптимизации), расположены пять этапов программирования, в котором есть функциональное моделирование, статическое моделирование, моделирование времени моделирования три и синтез ограничения, ограничение расположения (в том числе ограничений местоположения и временных ограничений) два основных ограничений, и так далее.

1, конструкция схемы (FPGA дизайн)

  Перед схемотехники, в первую очередь осуществляется это алгоритмы проектирования и верификации (сделано в Python или в Matalb) ( О том , как алгоритм , как правило , на основе рыночного спроса на разработку, и это не в этой дискуссии) , программа ТЭО, архитектурное проектирование и выбор чипа FPGA и другие подготовительные работы. Система инженер задачи, такие как метрики и сложность, функциональность и стабильность системы, скорость работы (рабочая частота и задержка) , а сам чип ресурсы, затраты, энергопотребления и т.д., компромиссная, разумный выбор дизайн (оптимизация конструкции с фиксированной точкой) и подходящий тип устройства (например, судов или Zynq Artix  или Zynq UltraScale +, и т.д. ).

  Метод Схемотехника делится сверху вниз и метод проектирования снизу вверх. Как правило, используя сверху вниз метод проектирования (начиная от конструкции системы, чтобы постепенно модульная конструкция, конструкция устройства и макетирование, чтобы способствовать более физический уровень): Начиная с самого начала проектирования системы, то система в целом разделена на множество основных блоков, а затем разделить каждый базовый блок на следующий уровень базового блока, в том, чтобы сделать это, пока вы не можете напрямую использовать библиотеки EDA до сих пор. Наконец, он начал кодирование.

2, конструкция входа (Design Вход)

  Это относится к конструкции конструктора входной цепи , участвующие в развитии некоторых программных требований , выраженных в форме, и ввод в соответствующих программных процессы. Наиболее распространенное выражение дизайна входных данных для ядра IP, схемы (Схема) и ввод текста HDL.

  Здесь IP можно разделить на три категории в зависимости от источников, первый из предыдущей конструкции создаются внутри модуля (Design самостоятельно), вторыми производители FPGA, третий от поставщиков IP.

  производители FPGA и производители IP могут предоставить нам другой IP в разном развитии FPGA раз. Дайте нам знать, что они не зашифрованы IP RTL уровня, шифруется RTL уровня IP, без макета списка соединений на уровне IP, после макета списка соединений IP.

 

3, интегрированный (Синтез)

  Всестороннее в целом относится к уровню абстракции высокого уровня описания конструкции автоматического перевода в описание нижнего уровня процесса. И интегрированный в инструмент FPGA, программные средства автоматически преобразуются следующим образом, или, синтезатор способен схемы или HDL текста языка, схема описана, чтобы быть компилятором или массива, ОЗУ, триггеров, регистров и т.д. Логические инструмент блок, состоящий из конфигурации схемы списка соединений.

  Всестороннее включая сбор, отображение и оптимизации (также могут быть разделены не быть интегрирована в комплекте), компилятор HDL → затвор-уровень списка соединений, отображение является воротами уровня списка соединений → LUT, оптимизация заключается в оптимизации конструкции (Следует отметить , что в процессе разработки Altera , компиляция, процесс отображения описана в совокупности , в соответствии с нашим интегрированным, так и в процессе разработки Xilinx, получает входной сигнал от процесса проектирования списка соединений ворот уровня называется синтезом, и процесс отображения сводится к тому, что называется реализацией подэтапа в. , но это небольшая проблема, общий процесс Вслед за этим в таком порядке).

  Комплексная форма:

    1, алгоритм преобразует описание RTL уровня поведения (уровень регистровых передач) (уровень регистровых передач), которая описывает поведение структуры, которая будет описана.

    2, преобразует описание уровня RTL ступени логического элемента (включая триггера), упоминается как логический синтез.

    3, логика ворот представления, чтобы представить макет или конфигурацию PLD представления списка соединений; ASIC, может быть получена в соответствии с информацией компоновки, с помощью списка соединений конфигурации может быть сделана на основе системы, реализованной в PLD.

  Программа компилятора Программное обеспечение для компиляции программы, написанной на языке C или ассемблере, что поток является 0, и аппаратное обеспечение представляет собой всеобъемлющую программу, написанную на языке, как Verilog HDL в конкретной структуре списка соединений.

  В схеме конструкции списка соединений (список соединений) представляет собой взаимосвязь соединения между каждым элементом схемы описаны, как правило , является относительно простой следовать меченый синтаксис текстового файла. (Baidu энциклопедия список соединения ворот уровня). RTL уровень синтеза конструкции логический синтез в соответствии с ограничениями , описанными в Verilog HDL или VHDL, может быть превращен в основную структуру затвора массив FPGA / CPLD отображается файл списка соединений.

 

4, расположение (Place & Route)

  Прежде чем говорить о макете, мы должны прежде всего говорить о реализации (реализации). Конфигурация достигаются интегрированная логикой для генерирования списка соединений конкретного чипа FPGA, и расположение является одним из наиболее важного процесса. Vivado реализован , как показано , в частности, в конструкции для инициализации (Design Initialization), оптимизированный дизайн (Opt Design), оптимизированные по мощности дизайн (Power Opt Design), дизайн - макет (Place Design), макет дизайна оптимизации энергопотребления (Post -Место мощность Opt дизайн), оптимизированный дизайн физического расположения (пост-Place Phys Opt дизайн) , дизайн - макет (дизайн маршрута), усовершенствованное исполнение физического кабеля (после маршрута Phys Opt дизайн) , генерирует поток битов (запись битового потока).

 

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

  Схема делится на небольшие блоки логического положения устройства конкретных внутренние логические ресурсы, и сделать их легко подключить;

  Проводки являются использованием маршрутизации ресурсов для завершения соединения между устройствами между функциональными модулями и сигналом обратной связи.

  Он будет производить следующий ряд важных документов после завершения макета:

    1, отчет потребления ресурсов чипа.

    2, EDA инструменты для другого выходного файла, такие как EDIF файлов.

    3、产生延时网表结构,以便于进行精确的时序仿真,这时候的仿真结果能够比较精确地预测未来芯片的实际性能。如果仿真结果达不到设计要求,就需要修改源代码或者选择不同速度的器件,直至满足设计要求,例如普通加法器改为超前进位加法器,普通乘法器改为 Booth 乘法器等等,通过减少关键路径来满足时序要求。

    4、器件编程文件:如用于 FPGA 配置的 SOF,JAM,BIT 等格式的文件,用于 CPLD 编程的 JEDEC,POF 等格式的文件。由于布局布线与芯片的物理结构直接相关,所以一般选择芯片制造商提供的开发工具进行此项工作。

 

约束(Constraint)(附加):

  约束分为综合约束布局布线约束,布局布线约束又可以分为位置约束、时序约束。约束,就是对这些操作环节定制规则,定制条件,比如引脚约束和时序约束。一般开发环境会对这些约束有个默认,这些默认的设置对大部分情况下还是适用的,但是通常布局布线约束中的 I/O 约束是我们每一个工程都必须给定的。

 

仿真(Simulation)(附加):

  仿真指的是对所设计电路功能的验证。仿真包括(功能)RTL 仿真、(门级)静态仿真和时序仿真。

  RTL 仿真就是对你的 HDL 代码仿真,对你的 RTL 级描述的设计进行测试。RTL 仿真,又叫功能仿真,也称为前仿真,是在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有任何延迟信息,是处于理想化状态的,仅对初步的功能进行验证。

  静态仿真指对综合之后的 LUT 门级网表。静态仿真,又叫门级仿真,也称为综合后仿真,在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响,但不能估计线延时,此时的仿真也并不是十分准确,和布局布线后的实际情况还是有一定差距的。

  时序仿真在选择具体器件并完成布局布线后进行的包含延时的仿真。时序仿真,又叫布局布线后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无时序违规的现象(即是否满足时序约束条件或器件固有的时序规则,如建立时间、保持时间等等。而此时,不同器件的内部延时都不太一样,不同的布局、布线方案所生成的延时也不太一样)。时序仿真包含的延迟信息最全,也最精确,能较好地反映芯片的实际工作情况。

 

5、编程配置(Program & Configuration)

  编程配置就是生成比特流之后将比特流载入 FPGA 芯片中的一个过程。

  把布局布线后生成的编程文件装入 PLD 器件中的过程称为下载。

  通常将对基于 EEPROM 工艺的非易失结构 CPLD 器件的下载称为编程。一般芯片编程是指产生使用的数据文件(如比特流文件(.bit)),然后将编程数据下载到 FPGA 芯片中。

  而将基于 SRAM 工艺结构的 FPGA 器件的下载称为配置。

рекомендация

отwww.cnblogs.com/PG13/p/11590098.html