Matriklinumber: 999999-le vastava funktsioonide süsteemi tõeväärtus-tabel oleks järgmine:
0000 1-00 0001 01-0 0010 11-1 0011 0-01 0100 1110 0101 1010 0110 -111 0111 01-0 1000 0011 1001 -10- 1010 -0-1 1011 1001 1100 11-0 1101 0-10 1110 -000 1111 1011
Kasutada tuleb espresso tulemust, sest 'z' sünteesitakse täiendava puhvrina. Vastav SystemVerilog-kood on järgmine (vt. ka SystemVerilog faili):
module fs_espresso (input x1, x2, x3, x4, output y1, y2, y3, y4);
assign y1 = ((!x1) & x2 & (!x3) & x4) |
(x2 & (!x3) & (!x4)) |
((!x1) & (!x4)) | (x1 & x3);
assign y2 = !( ((!x1) & x2 & (!x3) & x4) |
(x1 & (!x2) & (!x4)) | (x1 & x3) );
assign y3 = (x2 & (!x3) & (!x4)) | (x2 & x4) |
((!x1) & x3 & (!x4)) | (x1 & (!x2) & (!x4));
assign y4 = (x1 & x3 & x4) | ((!x2) & x3) |
((!x1) & x3 & (!x4)) | (x1 & (!x2) & (!x4));
endmodule
Sünteesi puhul on oluline, et SystemVerilog-fail sisaldaks ainult funktsioonide süsteemi kirjeldust (st. ilma testpingita).
Kõige lihtsam Synopsys'e DC kasutamise juhend oleks alljärgnev
(keerukam juhend on
siin, kuid ei sisalda
kodutöö jaoks vajaliku teegi digsys_hw.db kasutamist):
Enne esmaskasutus luua abikataloog WORK.syn [>mkdir WORK.syn] ja kopeerida
seadete fail [>cp ~/M/Peeter.Ellervee/IAS0150/hw2/.synopsys_dc.setup .],
teek [cp ~/M/Peeter.Ellervee/IAS0150/hw2/digsys_hw.db .] ja selle kasutamise
skript [cp ~/M/Peeter.Ellervee/IAS0150/hw2/digsys_hw.script .]. Need failid
leiab ka
materjalide
veebist (.synopsys_dc.setup on peidetud).
Käsk "cad" abil valida Synopsys 2025 (3.1).
Käsk "design_vision" paneb süntesaatori tööle.
"File->Execute Script..." abil laadige skript 'digsys_hw.script'.
"File->Read" abil laadige sünteesitav fail (nt. fs_espr.sv).
Kui see ei tööta (programm kukub kokku), proovige käsurealt
sisestada "read_file -format verilog path/filename.sv".
Klõps
("Logical Hierarchy" vasakus
servas) valib kompileeritud disainiüksuse (kui seda alamakent ei ole
või puudub disain, saab uue avada menüüst "Hierarchy->New
Logical Hierarchy View"). Paremklõps ja sealt "Schematic View" avab
liidesevaate (pilt all vasakul, kust topeltklõpsuga saab skeemi ennast
vaadata.
Käsk "set_max_area 0" viib võimalikult väikeses keemini
(ei pea kasutama).
"Design->Compile Design..." aktiveerib sünteesi dialoogi. "OK"-le
klõpsates süntees käivitub.
Sünteesi tulemusena saadud skeemi (parempoolne pilt all, vajalik
võib olla "Hiearchy" uus avamine) vaadata käsu "report_qor"
abil (sisestatakse alla käsureale).
Antud skeemi suuruseks on 30 ekvivalentset loogikalüli ja suurim
viide 7.48 ns [*]. Tulemuse saab salvestada "File->Save as..."
abil.
|
|
(*) Süuntesaator ei asenda invertoreid 2-NAND-dega ja selle tõttu on skeem suurem. Samuti võib erineda viide, sest srvestatakse ka loogikaelementide koormatust.
Proovige ka omaenda kodutöö ülesande funktsioonide süsteemi sünteesida.
Viimati muudetud 18.05.2026.