mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
Переход на SV в Implementation Steps
This commit is contained in:
@@ -12,22 +12,22 @@
|
||||
## Elaboration
|
||||
|
||||
На шаге **элаборации**, САПР строит цифровую схему по её **HDL**-описанию. Построенная схема не привязана к конкретной ПЛИС и использует абстрактные элементы: логические вентили, мультиплексоры, элементы памяти и т.п.
|
||||
На самом деле САПР генерирует не схему (картинку, схематик), а так называемый **нетлист**. **Нетлист** — это представление цифровой схемы в виде **графа**, где каждый элемент схемы является **узлом**, а **цепи**, соединяющие эти элементы являются ребрами. **Нетлист** может храниться как в виде каких-то внутренних файлов САПР-а (в случае **нетлиста** для этапа **элаборации**), так и в виде **HDL**-файла, описывающего экземпляры примитивов) и связи между ними. Рассмотрим этап **элаборации** и термин **нетлиста** на примере.
|
||||
На самом деле САПР генерирует не схему (картинку, схематик), а так называемый **нетлист**. **Нетлист** — это представление цифровой схемы в виде **графа**, где каждый элемент схемы является **узлом**, а **цепи**, соединяющие эти элементы являются ребрами. **Нетлист** может храниться как в виде каких-то внутренних файлов САПР-а (в случае **нетлиста** для этапа **элаборации**), так и в виде **HDL**-файла, описывающего экземпляры примитивов и связи между ними. Рассмотрим этап **элаборации** и термин **нетлиста** на примере.
|
||||
|
||||
Допустим, мы хотим реализовать следующую цифровую схему:
|
||||
|
||||

|
||||
|
||||
Её можно описать следующим **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;
|
||||
|
||||
|
Reference in New Issue
Block a user