Uploaded by Masih Mostafaee

Lec1

advertisement
‫طراحي كامپيوتري سيستمهاي ديجيتال‬
‫‪Computer Aided Design of Digital Systems‬‬
‫)‪(CADS‬‬
‫مجتبي ولينتاج‬
‫دانشگاه صنعتي نوشيرواني بابل‬
References
(1) Circuit Design with VHDL, V. A. Pedroni, MIT Press, 2004.
(2) The Design Warrior‘s Guide to FPGAs, C. Maxfield, Elsevier,
2004.
Other Refs.:
- Verilog Digital System Design, Z. Navabi, McGraw-Hill, 2006.
Books and other materials will be uploaded on the Viana.
Web address that may be used for file sharing:
https://web.nit.ac.ir/~m.valinataj/CADS
2
‫‪Evaluation‬‬
‫)‪20% (4‬‬
‫‪ Midterm Exam:‬‬
‫)‪40% (8‬‬
‫‪ Final Exam:‬‬
‫)‪10% (2‬‬
‫‪ Homeworks:‬‬
‫)‪ Computer Assignments: 30% (6‬‬
‫)‪100% (20‬‬
‫‪Total:‬‬
‫نكته‪ (١) :‬حضور مؤثر در كﻼسها و انجام تكاليف بسيار مهم است‪.‬‬
‫)‪ (٢‬كپي در هر كدام از موارد ذكر شده در صورت تشخيص‪ ،‬عﻼوه بر‬
‫‪3‬‬
‫حذف نمره مورد نظر جريمه نيز خواهد داشت‪.‬‬
‫‪Contact info‬‬
‫‪ ‬مراجعه حضوري طبق برنامه كاري اعﻼم شده بر روي بورد اتاق كار‬
‫‪ ‬ايميل‪:‬‬
‫‪m.valinataj@nit.ac.ir‬‬
‫‪ ‬ارسال تمرين ها از طريق ‪ Quera‬خواهد بود‪.‬‬
‫‪ ‬عضويت در بخش مربوطه در ‪ Quera‬با شماره دانشجويي و نام و نام‬
‫خانوادگي كامل فارسي يا انگليسي انجام شود‪.‬‬
‫‪ TA ‬درس آقاي مشايخ است‪.‬‬
‫‪4‬‬
‫)‪ (١‬توانايي و مهارت يافتن در توصيف و طراحي سيستمهاي سختافزاري با زبانهاي‬
‫توصيف سختافزار )‪(Verilog & VHDL‬‬
‫)‪ (٢‬توانايي بهكارگيري ابزارهاي طراحي خودكار مدارهاي ديجيتال‬
‫)‪ (٣‬آشنايي با معماري و قابليتهاي تراشههاي برنامهپذير )‪ (FPGA & CPLD‬و‬
‫نحوه سنتز مدارها‬
‫نرمافزارهاي مورد نياز‪:‬‬
‫‪5‬‬
‫‪(1) Modelsim or ISim‬‬
‫‪(2) Xilinx’s ISE (or Vivado) or Altera’s Quartus‬‬
‫‪Other tools:‬‬
‫)‪(3) Leonardo Spectrum (for ASIC synthesis‬‬
‫طراحي مدارهاي مجتمع‪:‬‬
‫‪(Integrated Circuit) IC‬‬
‫مجموعهاي از گيتها براي توليد مداري خاص است كه بر روي يك تراشه قرار داده‬
‫شدهاند‪.‬‬
‫اندازه يا مقياس ‪ IC‬ها‪:‬‬
‫‪ (Small Scale Integration) SSI‬تا چند ده گيت‪ ،‬داراي محدوديت در تعداد‬
‫پينها‬
‫مثال‪:‬‬
‫يك ‪ IC‬با ‪ ١٤‬پين ميتواند حاوي ‪ ٤‬گيت ‪ ٢‬ورودي باشد‪:‬‬
‫‪6‬‬
‫‪4× 2-input NAND (each with 3 pins)+ 2 pins for VCC & GND‬‬
‫‪(Medium Scale Integration) MSI‬‬
‫حاوي چند ده تا چند صد گيت‪ ،‬مانند يك ديكدر يا يك جمعكننده ساده‬
‫‪(Large Scale Integration) LSI‬‬
‫حاوي صدها تا هزاران گيت‪ ،‬مانند تراشههاي حافظه كوچك‬
‫‪(Very Large Scale Integration) VLSI‬‬
‫حاوي دهها هزار و بيشتر گيت‪ ،‬ميليونها و صدها ميليون ترانزيستور )‪ ULSI‬هم به‬
‫كار ميرود‪ U ،‬براي ‪(Ultra‬‬
‫مانند پردازندهها و ماجولهاي حافظه بزرگ‬
‫‪7‬‬
:ULSI ‫ و‬VLSI ‫نمونههايي براي‬
‫ ميليون ترانزيستور‬٤٢ ‫ اوليه داراي‬Pentium4
8-core core i7 Haswell-E in 2014 with 2.6 Billion transistors
Apple A13 (iPhone 11 Pro) in 2019 with 8.5 Billion transistors
‫چه عاملي باعث اين رشد و‬
‫افزايش تعداد شده است؟‬
8
‫روند اوليه طراحي ‪ IC‬ها‪:‬‬
‫به صورت ‪ (Application-Specific IC) ASIC‬بوده است‪.‬‬
‫مشكل‪ :‬عدم انعطافپذيري پس از طراحي‬
‫بنابراين‪ ،‬انواع قابل برنامهريزي يا برنامهپذير ابداع شدند هر كدام حاوي انواع مختلف‪:‬‬
‫‪PLDs: Programmable Logic Device‬‬
‫‪- SPLD: simple PLD‬‬
‫‪- CPLD: complex PLD‬‬
‫‪FPGAs: Field Programmable Gate Array‬‬
‫‪9‬‬
‫ويژگيهاي عناصر برنامهپذير‪:‬‬
‫ عدم بهينه بودن به اندازه ‪ ASIC‬ها‬‫ داشتن قابليت بازپيكربندي )‪(Reconfiguration‬‬‫پردازندههاي تجاري از نظر نوع ساخت ‪ ASIC‬محسوب ميشوند‪ ،‬هر چند كه يك‬
‫پرازنده ميتواند مبتني بر ‪ FPGA‬نيز باشد كه در اين صورت از نوع‬
‫‪ Reconfigurable processor‬محسوب ميشود‪.‬‬
‫‪10‬‬
:‫انواع پردازندهها از نظر كاربرد‬
- Microcontroller
- DSP
- Desktop processors
such as core i3, i5, i7 from Intel
- Mobile (laptop) processors
- GPU
.‫ تفاوت كاربردها منجر به تفاوت ساختارهاي دروني پردازندهها شده است‬-
11
‫تقسيم بندي ديگر‪:‬‬
‫پردازندهها با توجه به قابليت اجراي برنامههاي متنوع‪ ،‬عام‪-‬منظوره‬
‫)‪ (General-purpose‬محسوب ميشوند‪ ،‬اگرچه بعضي از آنها براي اجراي‬
‫برنامههاي خاصي بهينهسازي شدهاند مانند‪:‬‬
‫‪ GPU‬ها و ‪ DSP‬ها كه ‪ Domain-specific processors‬محسوب ميشوند‪.‬‬
‫سيستمهاي جديدتر‪:‬‬
‫امكان طراحيهاي ‪ very large scale‬و ‪ ultra large scale‬و يا توانايي استفاده‬
‫از تعداد زيادي ترانزيستور بر روي يك تراشه‬
‫‪both in tablets and mobile phones‬‬
‫‪12‬‬
‫)‪- SoC (System-on-a-Chip‬‬
‫)‪- MPSoC (Multi-Processor SoC‬‬
- CMP (Chip Multi-Processor)
Samples:
6-core core i7-8700K, for desktop PC, 95W
4-core core i7-8550U, for laptop, low-power, 15-25W
-Multicore & Manycore systems
:‫نمونه‬
‫ هاي چند هستهاي‬GPU ‫شامل موارد باﻻ و همچنين‬
(Network on Chip) NoC ‫حاوي مفهوم‬
13
‫روشهاي طراحي اوليه يك مدار ديجيتال‪:‬‬
‫)‪ (١‬روش قديمي‬
‫كشيدن مدار در سطح گيت روي كاغذ‬
‫پيادهسازي آن با استفاده از‬
‫تست عملكرد‬
‫ساخت بورد اصلي و نهايي‬
‫‪ IC‬هاي موجود‬
‫مثال‪ :‬مدار يك تمامجمعكننده )‪(Full Adder‬‬
‫به دو تا ‪ IC‬نياز است؛ يكي حاوي ‪ nand‬هاي دو ورودي )‪ ٣‬تا اما چرا؟( براي توليد‬
‫‪ carry‬خروجي و يكي حاوي ‪ xor‬ها‬
‫براي توليد ‪ .sum‬اما اگر از ‪ and‬و ‪or‬‬
‫استفاده شود به سه ‪ IC‬نياز است‪ ،‬چرا؟‬
‫‪14‬‬
‫روشهاي طراحي اوليه يك مدار ديجيتال‪:‬‬
‫)‪ (٢‬استفاده از نرمافزارهاي طراحي و شبيهسازي‬
‫الف( رسم مدار )شماتيك‪(schematic :‬‬
‫شبيهسازي‬
‫اطمينان از عملكرد با‬
‫ساخت بورد نهايي‬
‫ب( استفاده از زبانهاي مخصوص توصيف مدار )همزمان‪ ،‬استفاده از ابزارهاي‬
‫طراحي خودكار( با همان مراحل اصلي بعدي‬
‫‪- EDA/CAD tools‬‬
‫‪EDA: Electronic Design Automation‬‬
‫‪CAD: Computer Aided Design‬‬
‫‪15‬‬
‫دليل اصلي استفاده از زبانهاي توصيف سختافزار )‪:(HDLs‬‬
‫پيچيدگي مدارهاي امروزي‬
‫در واقع‪:‬‬
‫طراحي به صورت رسم مدار تنها براي مدارهاي نه چندان بزرگ يا مدارهاي با‬
‫توصيف ساده )يعني سادهبودن تبديل به گيتها( مناسب است‪.‬‬
‫يك روش‪:‬‬
‫ توصيف سطح باﻻ يا الگوريتمي با استفاده از ‪ HDL‬ها‬‫ تبديل توصيف سطح باﻻ به سطح منطقي‪ ،‬بهينهسازي و در نهايت‪ ،‬تبديل به مدار با‬‫استفاده از ‪CAD tools‬‬
‫‪16‬‬
:CAD tools ‫نمونههايي از‬
For FPGAs:
- ISE from Xilinx
- Quartus from Altera
For ASIC:
- Leonardo Spectrum
- Synopsys
- Cadence
17
:EDA/CAD tools ‫اجزاي‬
- Schematic entry
- HDL compilers
- Simulators
- Synthesis tools
- Timing analyzers
- Verification tools
- Testbenches
- Design checkers
- Formal or semi-formal verifications
18
Digital System Design Process
1- Design Specification
2- Behavioral Design
3- Register Transfer
Level (RTL) Design
4- Logic Design
5- Circuit Design
6- Physical Design
7- Manufacturing
(Chip or Board)
 2-to-3: Flow graph or pseudo
code
 3-to-4: Bus & register structure
 4-to-5: Gates, wirelist, netlist
 5-to-6: Transistor list
 6-to-7: Layout
Note: CAD tools automate the design from step 4 and beyond.
19
Digital System Design Process (cont.)
(1) RTL design to logic level design:
(2) Logic design to circuit level
design:
(3) Circuit design to physical level design:
20
Digital System Design Process (cont.)
A simpler view:
21
Hardware Description Languages (HDLs)
 Why HDLs?
 Very large scale designs limit the use of schematic
based methods
- May be hundred thousands of gates should be modeled!
 Debugging is more convenient in HDLs
- Code based debugging not graphical
 HDLs help to describe designs in a more compact way
 Behavioral or algorithmic description is possible
- For example, a FOR loop is simply modeled
22
Hardware Description Languages (cont.)
 Two main HDLs are Verilog (Verifying logic) &
VHDL (VHSIC HDL, Very High Speed Integrated
Circuit HDL).
However, SystemC (a C++ based language) can be
used mainly for simulations.
HDLs are used for:
 Modeling in different levels
 Design
 Simulation
 Testing & Verification
 Documentation (mainly VHDL)
23
Modeling in different levels
(Hardware Description)
 Behavioral or algorithmic or system level
The most abstract level which describes the main functions
 Dataflow or Register Transfer level (RTL)
Represents the flow of control and movement of data, and the
operation of the registers
 Gate level
The Lowest and most detailed level of description (in VHDL) and
also the simplest level to synthesize
 Transistor level (mainly in Verilog)
It can be beneficial for small designs.
 In each design, all levels can be used simultaneously.
24
Modeling in different levels (cont.)
25
Hardware Simulation
 Simulation is used to verify and analyze the operation
of a design under a set of conditions.
- Input values should lead to correct outputs
- Debugging in simulation is highly cheaper than after
implementation!
Software types for HDLs include:
 Simulators: used for design verification such as
Modelsim
 Synthesis tools: used for automatic hardware
generation such as Xilinx’s ISE & Altera’s Quartus for
FPGAs, and Synopsys & Cadence for ASIC designs
26
Hardware Simulation (cont.)
Co-Simulation of VHDL and Verilog also:
 with SystemC that is a set of C++ classes to model a
digital hardware
Hardware Simulation Methods
1- Oblivious simulation:
Using the new values of inputs at fixed time intervals, the
output of all circuit components will be re-evaluated until
they are stabilized.
2- Event-driven simulation:
When an input is changed, only those nodes that are affected
are re-evaluated.
27
Hardware Synthesis
A synthesis tool is a design aid that automatically
transforms a design description from one form to another
which finally will be useful for implementation.
 Transformation of HDL codes to a netlist describing the
final hardware (this can be a list of gates and wires)
28
Download