ComputerAidedDesign-S4
ComputerAidedDesign-S4
Zeinab Kalantari
ﻫﺎFPLD ﭼﺮﺧﻪ ﻃﺮاﺣﯽ ﺑﺮاي ﺑﺮﺧﯽ
• Design Entry
• Schematic Netlist
• HDL
• Waveform
• State Diagram
Zeinab Kalantari
ﭼﺮﺧﻪ ي ﻃﺮاﺣﯽ ﺑﺮاي ﺑﺮﺧﯽ FPLDﻫﺎ
• ﻣﺰاﯾﺎ
• ﮐﻮﺗﺎه ﺷﺪن ﭘﺮوﺳﻪ ﻃﺮاﺣﯽ
• ﻧﻮآوري ﺑﯿﺸﺘﺮ )ﭘﺮوﺳﻪ ﻃﺮاﺣﯽ ﺑﻪ ﻣﺮاﺣﻞ ﺑﺎﻻﺗﺮ رﻓﺘﺎري ﻣﻨﺘﻘﻞ ﻣﯽ ﺷﻮد()ﺗﺸﺎﺑﻪ ﺑﺎ زﺑﺎن ﻫﺎي ﺳﻄﺢ ﺑﺎﻻ(
• دﯾﺒﺎگ ﻃﺮح ﺑﺴﯿﺎر آﺳﺎن ﺗﺮ و ﺳﺮﯾﻊ ﺗﺮ
• ﻣﺎﻧﻨﺪ ﺳﯿﮑﻞ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ
Zeinab Kalantari
Entry- HDL Coding
• HDL allows us to describe the functionality of a logic circuit in a
language that is:
• Easy to understand
• Easy to share
• Hide complicated implimentation details
• Designer more concerned about the design functionality than the detail
circuit design
Zeinab Kalantari
Simulation by Testbenches
• After HDL codin, the code has to be tested using “Testbenches”
(verification)
• Simulation Tools
• Modelsim (Mentor Graphics)
• Simulators of Synthesis Tools
Zeinab Kalantari
Synthesis
• Synthesis Tool:
• Analyzes a piece of HDL code and converts it into optimized logic gates
• This conversion is done according to the “language semantics”
→ We have to learn these language semantics, i.e., VHDL code
• It is an important tool to improve designer’s productivity to meet today’s
design complexity
• If a designer candesign 150 gates a day, it will take 6666 man’s day to design a
10-mlion gate design, or almost 20 years for 10 designer! This is assuming a
linear grow of complexity when design gets better.
Zeinab Kalantari
Synthesis Tool
• Input
• HDL Code
• “Technology Library” file
• Constraint file (Timing ,
area,power,loading
requirment,optimizing Alg)
• Output
• A gate-level “Netlist” of the
design
• Timing files (.sdf)
Zeinab Kalantari
Synthesis Example
• A 2-to-1 Multiplexer (2×1 MUX)
Zeinab Kalantari
Synthesis Tool
• Infer logic and state elements
• Perform technology-independent optimizations
• e.g., logic simplification , astate assignment
• Map elements to the target technology
• Perform technology-dependent optimizations
• Multi-level logic optimization
• Coose gate strengths to achieve speed goals
Vendor Name Product Name Platform
Altera Quartus II FPGA
Xilinx ISE FPGA
Mentor Graphics Modelsim, Percision FPGA/ASIC
Synopsys Design Compiler, Galaxy ASIC
Synplicity Synplify ASIC
Cadence Ambit, BG,
ZeinabRC
Kalantari ASIC
Implimentation for FPGA
Zeinab Kalantari
Application of HDLs
Zeinab Kalantari
Concepts of HDL
• : Abstractionﻃﺮح را ﻣﯽ ﺗﻮان در ﺳﻄﻮح ﻣﺨﺘﻠﻔﯽ از ﺟﺰﺋﯿﺎت ﺗﻮﺻﯿﻒ ﮐﺮد
• ﺑﺮاي ﻣﺪﻟﺴﺎزي ،ﺳﻄﻮح ﺑﺎﻻ ﮐﺎﻓﯽ اﺳﺖ.
• ﺑﺮاي ﺳﻨﺘﺰ ،ﻣﻤﮑﻦ اﺳﺖ ﺟﺰﺋﯿﺎت ﺑﯿﺸﺘﺮي ﻻزم ﺑﺎﺷﺪ.
• : Modularityﻣﯽ ﺗﻮان ﺑﻠﻮك ﭘﯿﭽﯿﺪه را ﺑﻪ ﺑﻠﻮك ﻫﺎي ﮐﻮﭼﮑﺘﺮ ﺗﻘﺴﯿﻢ ﮐﺮد و ﺑﺮاي ﻫﺮ ﺑﺨﺶ
ﯾﮏ ﻣﺪل ﻧﻮﺷﺖ.
• : Hierarchyﺗﺸﮑﯿﻞ ﯾﮏ درﺧﺖ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﯽ
• ﻫﺮ ﮐﺪام از ﻧﻮدﻫﺎ ﻣﻤﮑﻦ اﺳﺖ در ﺳﻄﺢ ﻣﺘﻔﺎوﺗﯽ از abstractionﺗﻮﺻﯿﻒ ﺷﺪه ﺑﺎﺷﺪ.
Zeinab Kalantari
Modeling Capability
Zeinab Kalantari
VHDL Syntax
Zeinab Kalantari
VHDL - Overview
• Very High Speed Integrated Circuit Hardware Description Language
• Modeling of digital systems
• Concurrent and sequential elements
• International Standards
• IEEE Std 1076-1987
• IEEE Std 1076-1993,2000, 2002
: اﻧﺠﺎم ﮔﺮﻓﺘﻪ اﺳﺖVHDL ﺗﻼش ﻫﺎﯾﯽ ﺑﺮاي اﺳﺘﺎﻧﺪارد ﮐﺮدن ﻋﻮاﻣﻞ ﻣﺮﺑﻮط ﺑﻪ،• ﻋﻼوه ﺑﺮ اﺳﺘﺎﻧﺪاردﻫﺎي ﺧﺎﻟﺺ
• ﭘﮑﯿﺞ ﻫﺎ
std_logic_1164 •
Numeric_bit •
Numeric_std •
1076.6 اﺳﺘﺎﻧﺪارد: • زﯾﺮﻣﺠﻤﻮﻋﻪ ﻗﺎﺑﻞ ﺳﻨﺘﺰ
VHDL-AMS 1076.1 •
Zeinab Kalantari
Abstraction Level in IC Design
Zeinab Kalantari
VHDL Structural Elements
• Entity: Interface
• Architecture: Implimentation, behavior
• Configuration: Structure , hierarchy
• Process: Seqential Execution
• Package: Components (Modular design), Utilities (data types,
constants, subprograms)
• Library: Groups of compiled units, object code
Zeinab Kalantari
Design Library
• Storage location for analyzed design units
• VHDL models only deal with logical library names
• Mapping too physical locations is up to VHDL tools
• Two classes of design libraries
• Working library (read-write, only one active)
• Resources library (read-only, possibly more than one active)
• Predefined logical design libraries
• WORK Current active working library
• STD. Resource library containing only three packages
(STANDARD, TEXTIO)
• IEEE Resource library containing only standard VHDL packages
Zeinab Kalantari
Design File
• Text file containing one or more design units
• Recommended file extension: .vhd
• Order of design units is important
• Primary units must appear before related secondary units
• Successful analysis of a design file generates binary design units in the
working library
Zeinab Kalantari
VHDL Key Idea
• A key idea in VHDL is to define the interface of a hardware module
while hiding its internal details.
• A VHDL entity is simply a declaration of a module’s inputs and outputs, i.e.,
its external interface signals or ports.
• A VHDL architecture is a detailed description of the module’s internal
structure or behavior.
Zeinab Kalantari
VHDL Interface - Ports
• You can think of the entity as a “wrapper” for the architecture.
• hiding the details of what’s inside
• providing ”ports” to other modules
Zeinab Kalantari
VHDL Conceptual Model
• VHDL actually allows you to entity
define multiple architecture for a
single entity. architecture 1
Zeinab Kalantari
VHDL Design Units
• Smallest model elements that can be separately analyzed
• P : Primary Units
• S : Secondary Units
A SUM
?
B CARRY