diff --git a/Vivado Basics/Implementation steps.md b/Vivado Basics/Implementation steps.md index 9817df2..b494e2b 100644 --- a/Vivado Basics/Implementation steps.md +++ b/Vivado Basics/Implementation steps.md @@ -12,22 +12,22 @@ ## Elaboration На шаге **элаборации**, САПР строит цифровую схему по её **HDL**-описанию. Построенная схема не привязана к конкретной ПЛИС и использует абстрактные элементы: логические вентили, мультиплексоры, элементы памяти и т.п. -На самом деле САПР генерирует не схему (картинку, схематик), а так называемый **нетлист**. **Нетлист** — это представление цифровой схемы в виде **графа**, где каждый элемент схемы является **узлом**, а **цепи**, соединяющие эти элементы являются ребрами. **Нетлист** может храниться как в виде каких-то внутренних файлов САПР-а (в случае **нетлиста** для этапа **элаборации**), так и в виде **HDL**-файла, описывающего экземпляры примитивов) и связи между ними. Рассмотрим этап **элаборации** и термин **нетлиста** на примере. +На самом деле САПР генерирует не схему (картинку, схематик), а так называемый **нетлист**. **Нетлист** — это представление цифровой схемы в виде **графа**, где каждый элемент схемы является **узлом**, а **цепи**, соединяющие эти элементы являются ребрами. **Нетлист** может храниться как в виде каких-то внутренних файлов САПР-а (в случае **нетлиста** для этапа **элаборации**), так и в виде **HDL**-файла, описывающего экземпляры примитивов и связи между ними. Рассмотрим этап **элаборации** и термин **нетлиста** на примере. Допустим, мы хотим реализовать следующую цифровую схему: ![../.pic/Vivado%20Basics/Implementation%20steps/impl_steps_ref_scheme.drawio.png](../.pic/Vivado%20Basics/Implementation%20steps/impl_steps_ref_scheme.drawio.png) -Её можно описать следующим **Verilog**-кодом: +Её можно описать следующим **SystemVerilog**-кодом: -```Verilog +```SystemVerilog module sample( - input a, b, c, d, sel, - output res + input logic a, b, c, d, sel, + output logic res ); - wire ab = a & b; - wire xabc = ab ^ c; + logic ab = a & b; + logic xabc = ab ^ c; assign res = sel? d : xabc;