From 3c4ddfccbcc9c5c093b8aad6251e33e5ef438e61 Mon Sep 17 00:00:00 2001 From: Andrei Solodovnikov Date: Fri, 15 Sep 2023 11:18:14 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D1=85=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=BD=D0=B0=20SV=20=D0=B2=20Implementation=20Steps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Vivado Basics/Implementation steps.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) 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;