05 aspecte legate de sinteza1

Upload: radu-dan

Post on 09-Mar-2016

218 views

Category:

Documents


0 download

DESCRIPTION

material

TRANSCRIPT

Slide 1

5. Aspecte legate de SintezSlide #Verific corectitudinea ierarhiei codurilor HDL:Conexiuni la porturi nepermise (de ex. Output la Output) Dimensiunile porturilor care se conecteazAtenie, assign de dimensiuni diferite e permis, conexiune nu e permis!La assign: fiecare sintetizator aliniaz dup propriul stil la stnga sau dreaptaAtribuiri de semnal multiple (vezi: Error: Multi-Source Unit on Q_Cnt etc)Dac oricare dintre verificrile de mai sus eueaz, atunci ERRORDac trece, continuFlatten sau pstreaz ierarhia:Depinde de opiunile de sintetizareTransform codurile HDL ntr-o schem (descris mai departe n HDL!) format din pori logice i regitri:Un pic mai detaliat

Sintetizatorul (Synthesis Tool): Slide #Transform codurile HDL ntr-o schem (descris mai departe n HDL!) format din pori logice i regitri:Aceast descriere se numete RTL (REGISTER TRANSFER LEVEL)Teoretic, este portabil. Practic, pot exista specificaii de target (FGPA Xilinx dintr-o anumit familie, sau Altera Actel, Asic etc)Exemplu: XST (Xilinx Synthesis Tool), respectiv Vivado Synthesis Tool recunosc (Infer, adic face Inference) n mod automat coduri de:Regitri i de deplasareNumrtoareRAM, ROM,Circuite aritmetice (ADD, MUL)MAC (Multiply-Accumulate), adic slice-uri DSPAutomate secvenialeExist i componente BLACK-BOX! Ex. Microblaze, Ethernet etcToate aceste componente sunt automat optimizate pentru tehnologia int (mai pe englezete: Target TechnologyExist opiuni de sintez care pot invalida inferena anumitor componenteSintetizatorul (Synthesis Tool): Slide #Transform codurile HDL ntr-o schem (descris mai departe n HDL!) format din pori logice i regitri:Alte instrumente de sintez mai cunoscute:Leonardo Spectrum (Preluat de Menthor Graphics)Synopsis Cadence etc.Unele pot infera chiar i DIVIZOARE, sau uniti pe virgul flotant (FLOAT32)!Transform codurile HDL ntr-o schem (descris mai departe n HDL!) format din pori logice i regitri RTL

Sintetizatorul (Synthesis Tool): Slide #MINIMIZEAZ codul HDL:NU E VORBA NUMAI DE MINIMIZARE Karnaugh/Veitch sau pe arbore binar!Intrrile NECONECTATE la un modul sunt automat legate la GNDIntrrile NEFOLOSITE n cod sunt automat terseCe nseamn intrare nefolosit vs. neconectat?Ieirile NECONECTATE sunt terseIeirile NEATRIBUITE sunt terseSemnalele CITITE, dar NEATRIBUITE, sunt conectate la GNDSemnalele ATRIBUITE, dar NECITITE sunt terseConstantele ascunse: Warning, dar pstrateVezi Warning pentru fiecare caz:Cnd nu ne intereseaz (prea mult) Warning? i cnd da?Vezi exemple

Sintetizatorul (Synthesis Tool): Slide #De evitat n atribuirile procedurale (always)(Adica ce sa NU facei n codul Verilog!)Avertismente de SintezSlide #ATRIBUIRI INCOMPLETE n Procese CombinaionaleExcluderi de semnale pe baza LISTEI DE SENZITIVITATEBucle Combinaionale

...De ce nu a fost excluse din syntax checker? 1. 2. 3PROCESE COMBINAIONALE: Nu Facei (DO NOT):Slide #1. ATRIBUIRI INCOMPLETE n Procese Combinaionale:Exemplu:module NU_ASA(input A, input B,input SEL,output reg Q);

always @ (A or B or SEL)if (SEL) Q