1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tài liệu Electronics and Communication Engineering: Introduction to VHDL ppt

325 438 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Introduction to VHDL
Trường học Doulos
Chuyên ngành Electronics and Communication Engineering
Thể loại Lecture notes
Định dạng
Số trang 325
Dung lượng 15,97 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

When considering the application of VHDL to FPGA/ASIC design, it is helpful to identify and understand the three levels of abstraction shown opposite - algorithm, register transfer level

Trang 1

Electronics and Communication Engineering

Introduction to VHDL

Trang 2

INTRODUCTION TO VHDL

What is VHDL?

VHDL is the VHSIC Hardware Description Language VHSIC is an abbreviation for Very High Speed Integrated Circuit It can describe the behavior and structure of electronic systems, but is particularly suited as a language to describe the structure and behavior

of digital electronic hardware designs, such as ASICs and FPGAs as well as conventional digital circuits

VHDL is a notation, and is precisely and completely defined by the Language Reference

Manual (LRM) This sets VHDL apart from other hardware description languages, which are to some extent defined in an ad hoc way by the behavior of tools that use them VHDL is an international standard, regulated by the IEEE The definition of the language

VHDL does not constrain the user to one style of description VHDL allows designs to be described using any methodology - top down, bottom up or middle out! VHDL can be used to describe hardware at the gate level or in a more abstract way Successful high level design requires a language, a tool set and a suitable methodology VHDL is the

language, you choose the tools, and the methodology well, I guess that's where

Doulos come in to the equation!

Trang 3

A Brief History of VHDL

The development of VHDL was initiated in 1981 by the United States Department of Defense to address the hardware life cycle crisis The cost of reprocuring electronic hardware as technologies became obsolete was reaching crisis point, because the function of the parts was not adequately documented, and the various components making up a system were individually verified using a wide range of different and incompatible simulation languages and tools The requirement was for a language with a

wide range of descriptive capability that would work the same on any simulator and was

independent of technology or design methodology

Standardization

The standardization process for VHDL was unique in that the participation and feedback from industry was sought at an early stage A baseline language (version 7.2) was published 2 years before the standard so that tool development could begin in earnest in

advance of the standard All rights to the language definition were given away by the

DoD to the IEEE in order to encourage industry acceptance and investment

ASIC Mandate

DoD Mil Std 454 mandates the supply of a comprehensive VHDL description with every ASIC delivered to the DoD The best way to provide the required level of description is to use VHDL throughout the design process

Trang 4

VHDL '93

As an IEEE standard, VHDL must undergo a review process every 5 years (or sooner) to ensure its ongoing relevance to the industry The first such revision was completed in September 1993, and tools conforming to VHDL '93 are now available

Summary: History of VHDL

1981 - Initiated by US DoD to address hardware life-cycle crisis

1983-85 - Development of baseline language by Intermetrics, IBM and TI

1986 - All rights transferred to IEEE

1987 - Publication of IEEE Standard

1987 - Mil Std 454 requires comprehensive VHDL descriptions to be delivered with ASICs

1994 - Revised standard (named VHDL 1076-1993)

Trang 5

Levels of Abstraction

VHDL can be used to describe electronic hardware at many different levels of abstraction When considering the application of VHDL to FPGA/ASIC design, it is helpful to identify and understand the three levels of abstraction shown opposite - algorithm, register transfer level (RTL), and gate level Algorithms are unsynthesizable, RTL is the input to synthesis, gate level is the output from synthesis The difference between these levels of abstraction can be understood in terms of timing

Levels of abstraction in the context of their time domain

Algorithm

A pure algorithm consists of a set of instructions that are executed in sequence to

perform some task A pure algorithm has neither a clock nor detailed delays Some

aspects of timing can be inferred from the partial ordering of operations within the

algorithm Some synthesis tools (behavioral synthesis) are available that can take

algorithmic VHDL code as input However, even in the case of such tools, the VHDL input may have to be constrained in some artificial way, perhaps through the presence of

an ‘algorithm' clock - operations in the VHDL code can then be synchronized to this clock

Trang 6

RTL

An RTL description has an explicit clock All operations are scheduled to occur in specific clock cycles, but there are no detailed delays below the cycle level Commercially available synthesis tools do allow some freedom in this respect A single global clock is not required but may be preferred In addition, retiming is a feature that allows operations to be re-scheduled across clock cycles, though not to the degree permitted in behavioral synthesis tools

Gates

A gate level description consists of a network of gates and registers instanced from a technology library, which contains technology-specific delay information for each gate

Writing VHDL for Synthesis

In the diagram above, the RTL level of abstraction is highlighted This is the ideal level of abstraction at which to design hardware given the state of the art of today's synthesis tools The gate level is too low a level for describing hardware - remember we're trying to move away from the implementation concerns of hardware design, we want to abstract

to the specification level - what the hardware does, not how it does it Conversely, the

algorithmic level is too high a level, most commercially available synthesis tools cannot produce hardware from a description at this level

In the future, as synthesis technology progresses, we will one day view the RTL level of abstraction as the “dirty” way of writing VHDL for hardware and writing algorithmic (often called behavioral) VHDL will be the norm

Trang 7

hardware-used in this area with some success, but is best suited to functional and not stochastic

simulation

Digital

VHDL is suitable for use today in the digital hardware design process, from specification through high-level functional simulation, manual design and logic synthesis down to gate-level simulation VHDL tools usually provide an integrated design environment in this area

VHDL is not suited for specialized implementation-level design verification tools such as analog simulation, switch level simulation and worst case timing simulation VHDL can

be used to simulate gate level fan-out loading effects providing coding styles are adhered to and delay calculation tools are available The standardization effort named VITAL (VHDL Initiative toward ASIC Libraries) is active in this area, and is now bearing fruit in that simulation vendors have built-in VITAL support More importantly, many ASIC vendors have VITAL-compliant libraries, though not all are allowing VITAL-based sign-off - not yet anyway

Analogue

In 1999, the IEEE approved Standard 1076.1, which is informally known as VHDL-AMS

It is a true super-set of VHDL, and includes analog and mixed-signal extensions

Trang 8

Design process

The diagram below shows a very simplified view of the electronic system design process incorporating VHDL The central portion of the diagram shows the parts of the design process which are most impacted by VHDL

Design Flow using VHDL

The diagram below summarizes the high level design flow for an ASIC (ie gate array, standard cell) or FPGA In a practical design situation, each step described in the following sections may be split into several smaller steps, and parts of the design flow will be iterated as errors are uncovered

System-level Verification

As a first step, VHDL may be used to model and simulate aspects of the complete system containing one or more devices This may be a fully functional description of the system allowing the FPGA/ASIC specification to be validated prior to commencing detailed design Alternatively, this may be a partial description that abstracts certain properties of the system, such as a performance model to detect system performance bottle-necks

Trang 9

RTL design and test bench creation

Once the overall system architecture and partitioning is stable, the detailed design of each FPGA/ASIC can commence This starts by capturing the design in VHDL at the register transfer level, and capturing a set of test cases in VHDL These two tasks are complementary, and are sometimes performed by different design teams in isolation to ensure that the specification is correctly interpreted The RTL VHDL should be synthesizable if automatic logic synthesis is to be used Test case generation is a major task that requires a disciplined approach and much engineering ingenuity: the quality of the final FPGA/ASIC depends on the coverage of these test cases

RTL verification

The RTL VHDL is then simulated to validate the functionality against the specification RTL simulation is usually one or two orders of magnitude faster than gate level simulation, and experience has shown that this speed-up is best exploited by doing more simulation, not spending less time on simulation In practice it is common to spend 70-80% of the design cycle writing and simulating VHDL at and above the register transfer level, and 20-30% of the time synthesizing and verifying the gates

Look-ahead Synthesis

Although some exploratory synthesis will be done early on in the design process, to provide accurate speed and area data to aid in the evaluation of architectural decisions and to check the engineer's understanding of how the VHDL will be synthesized, the main synthesis production run is deferred until functional simulation is complete It is pointless to invest a lot of time and effort in synthesis until the functionality of the design

is validated

Trang 10

Benefits of using VHDL

Executable specification

It is often reported that a large number of ASIC designs meet their specifications first time, but fail to work when plugged into a system VHDL allows this issue to be addressed in two ways: A VHDL specification can be executed in order to achieve a high level of confidence in its correctness before commencing design, and may simulate one

to two orders of magnitude faster than a gate level description A VHDL specification for

a part can form the basis for a simulation model to verify the operation of the part in the wider system context (eg printed circuit board simulation) This depends on how accurately the specification handles aspects such as timing and initialization Behavioral simulation can reduce design time by allowing design problems to be detected early on, avoiding the need to rework designs at gate level Behavioral simulation also permits design optimization by exploring alternative architectures, resulting in better designs

Trang 11

Getting Started With Active-HDL

Trang 12

Click Active-HDL 6.3 icon on desktop then above window will be appeared on the

screen Select create new work space and press ok

Trang 13

Type the name in the box under Type the workspace name: and press ok

Trang 14

Select create an empty design and press next

Trang 15

Click on the button indicated by an arrow located under Synthesis tool: and select

Xilinx XST Vhdl

Trang 16

The above window will be appeared and then press Next

Trang 17

Type a name for the design in the box which is under Type the design name and press

Next

Trang 18

Click on Finish button

Trang 19

Right click on Add New File then select New and left click on VHDL Source

Trang 20

The above window will be appeared and press Next

Trang 21

Type a name in the box under Type the name of the source file to create:

Type a name in the box under Type the name of the entity(optional):

Type a name in the box under Type the name of the architecture body(optional): and

press Next

Trang 22

The above window will be appeared and press Finish button

Trang 23

The above window will be appeared Then enter the code for your design

Trang 24

Then press Compile button shown on the top and in the console box #compile

success 0 errors 0 warnings analysis time : 0.2 [s] will be appeared if the code is

correct

Trang 25

Left click on the waveform button

Trang 26

Click on waveform and select Add signals

Trang 27

The above windows will be appeared right click on the input, output signals and click

on select all and press Add button

Trang 28

The above window will be appeared

Trang 29

Right click on the input signal a and click on Simulators and proceed the same process

for other input signals also

Trang 30

The above windows will be appeared select Clock in the box under Type: give some

clock shown below and we can select 1 or 0 and then press Apply button and then press

close button

Trang 31

The above window will be appeared

Trang 32

Select Simulation and left click on Initialize Simulation

Trang 33

The above window will be appeared as #Simulation has been initialized

Trang 34

After simulation has been finished select run time and press (Alt+F5) or

run button as shown on the top

Trang 35

The Simulation results will be appeared as depicted in the above window

Trang 36

EXPERIMENT NO.1: GATES

AIM: To simulate internal structure of all gates using VHDL and verify their operation

8 Digital Trainer Board 1

SOFTWARE USED: Active-HDL

THEORY:

Logic gates: Digital systems are said to be constructed by using logic gates These gates are the AND, OR, NOT, NAND, NOR, EXOR and EXNOR gates The basic operations are described below with the aid of truth tables

AND gate

The AND gate is an electronic circuit that gives a high output (1) only if all its inputs are high A dot (.) is used to show the AND operation i.e A.B for a two input (A & B) AND gate, Y = A.B Bear in mind that this dot is sometimes omitted i.e written as AB

Trang 37

OR gate

The OR gate is an electronic circuit that gives a high output (1) if one or more of its inputs are high A plus (+) is used to show the OR operation E.g output of a 2-input OR gate is Y=A+B

NOT gate

The NOT gate is an electronic circuit that produces an inverted version of the

input at its output It is also known as an inverter If the input variable is A, the

inverted output is known as NOT A This is also shown as A', or A with a bar over the top, as shown at the output, i.e., Y= A'

Trang 38

NOR gate

This is a NOT-OR gate which is equal to an OR gate followed by a NOT gate The output of a NOR gate is low if any of the inputs are high

The symbol is an OR gate with a small circle on the output The small circle represents inversion For a two input(A & B) NOR gate, output Y = (A+B)′

EXOR gate

The 'Exclusive-OR' gate is a circuit which will give a high output if either,

but not both, of its two inputs are high An encircled plus sign ( ) is used

to show the EOR operation.When inputs are A and B,output Y of EXOR gate is Y=A B

EXNOR gate

The 'Exclusive-NOR' gate circuit does the opposite to the EOR gate It

will give a low output if either, but not both, of its two inputs are high

The symbol is an EXOR gate with a small circle on the output The small circle represents inversion.The output Y of a EXNOR gate with inputs A&B is given by Y=( A B)′

Trang 39

The NAND and NOR gates are called universal gates since with either one the

AND and OR functions and NOT can be generated

Table 1 is a summary truth table of the input/output combinations for the NOT gate together with all possible input/output combinations for the other gate functions Also note that a truth tables with 'n' inputs has 2n rows You can compare the outputs of different gates

Table 1: Logic gates representation using the Truth table

Trang 40

INTERNAL DIAGRAM:

NOR GATE:

NAND GATE:

Ngày đăng: 15/12/2013, 07:15

TỪ KHÓA LIÊN QUAN