Escolar Documentos
Profissional Documentos
Cultura Documentos
Aldec Background
• Aldec was established in 1984 and is focused on delivering design
verification solutions to FPGA and ASIC designers.
• Direct Offices in: Europe, United States, China and Japan, all other
territories supported via local distributors.
• Aldec focus
Verification Solutions
Mixed VHDL, Verilog, SystemVerilog, and SystemC
simulator
Assertions (PSL and SVA) and LINT Support
Graphical design creation and debugging tools
Hardware-assisted Verification Solutions
Hardware acceleration and prototyping in FPGA‟s
Software-Hardware Co-verification for embedded CPUs
www.aldec.com
3
Aldec Website
• www.aldec.com provides the following
resources:
Access to Mixed Language Simulator for 20 day
evaluation at no cost
Encrypted IP Cores for functional validation in Aldec
simulator
Language Tutorials (VHDL and Verilog)
Recorded AVMS (Aldec Verification Methodology Series)
www.aldec.com
4
Agenda
• VHDL history
• What‟s new in the forthcoming standard?
• Enhanced packages & operators
• Enriched language Constructs
• VHPI & PSL
• Encryption/Decryption envelopes for IP
• Conclusion
www.aldec.com
5
VHDL History
VHDL Timeline
2010
VHDL 2006 officialy released
by Accellera
IEEE started efforts for VHDL
2005
200X, 2003
Took over by Accellera, 2005
VHDL 2002 released
2000
Year
1995
VHDL 1993 released
1990
www.aldec.com
6
www.aldec.com
7
www.aldec.com
9
Package ENV
• New ENV Package providing interface to host environment
• It contains procedures STOP, FINISH and function
RESOLUTION_LIMIT
package ENV is
procedure STOP ( STATUS: INTEGER );
procedure FINISH ( STATUS: INTEGER );
function RESOLUTION_LIMIT return DELAY_LENGTH;
end package ENV;
• Usage:
use std.env.all ;
. . .
Test : process begin
. . .
Stop ;
end process Test
www.aldec.com
10
Operators
• and, or, nand, nor, xor, and xnor can now be used as unary operators
With reduction unary operator,
Vec_1 <= xor d_in ;
Without reduction unary operator,
Vec_1 <= d_in(7) xor d_in(6) xor d_in(5) xor
d_in(4) xor d_in(3) xor d_in(2) xor
d_in(1) xor d_in(0) ;
• Operators can now accept mixture of scalar and array operands, e.g.
MY_VEC xor MY_BIT to control polarity of the vector by one bit
signal Sel : std_logic ;
signal X, Y : std_logic_vector(3 downto 0) ;
. . .
T <= (Y and Sel) ;
Value of Sel will be adjusted to form an array
www.aldec.com
11
Operators (cont)
• Unary condition operator (??) allows conversion of logic values ('0', '1',
'H', etc.) to TRUE or FALSE value
For example,
if (X='1' and Y='0') then
Can be written as,
if ??(X and not Y) then
• New matching operators (?=, ?/=, ?<, ?<=, ?> and ?>=) have been
added
For Example,
"1---" ?= "1001" yields '1'
• Logical shift and rotate operators were added to STD_LOGIC_1164
package
• Modulus and remainder can now be used for physical type operands
www.aldec.com
12
Language Constructs-Types
• New functions MINIMUM, MAXIMUM, TO_STRING are available for
predefined scalar and array types
function MINIMUM (L, R: T) return T;
function MAXIMUM (L, R: T) return T;
function TO_STRING (VALUE: T) return STRING;
• RISING_EDGE and FALLING_EDGE functions now work with BIT and
BOOLEAN
function RISING_EDGE (signal S: BOOLEAN) return
BOOLEAN;
function FALLING_EDGE(signal S: BOOLEAN) return
BOOLEAN;
• Several new, predefined types were added:
BOOLEAN_VECTOR, INTEGER_VECTOR, REAL_VECTOR,
TIME_VECTOR
www.aldec.com
13
• Force and release assignments are possible now, affecting driving (out mode)
or effective (in mode) signal value:
Sig1 <= force '1';
Port1 <= release out;
www.aldec.com
14
www.aldec.com
15
www.aldec.com
16
www.aldec.com
17
-- Generic-mapped function:
function multiply_gm generic (size : natural)
generic map (size => 16)
parameter (L,R : signed) return signed is
-- Instantiated function:
function multiply_i is new multiply_u
generic map (size => 16);
www.aldec.com
18
package fixed_generic_pkg is
generic (
-- Rounding routine to use in fixed point, fixed_round or fixed_truncate
fixed_round_style : fixed_round_style_type := fixed_round;
-- Overflow routine to use in fixed point, fixed_saturate or fixed_wrap
fixed_overflow_style : fixed_overflow_style_type :=
fixed_saturate;
-- Extra bits used in divide routines
fixed_guard_bits : NATURAL := 3;
-- If TRUE, then turn off warnings on "X" propagation
no_warning : BOOLEAN := false );
www.aldec.com
19
www.aldec.com
21
IP Protection
• Protect tool directives allow encryption of portions in VHDL
descriptions
• Directives are used to form protection envelopes, which include
specification of cryptographic methods and keys to be used by a
tool
`protect begin
`protect end
`protect encoding
`protect viewport
• Different mechanism for the protection
Simple protection envelopes
Digital envelopes
Digital signatures
• Decryption tool, after processing a decryption envelope shall
conform to standard restrictions
www.aldec.com
22
Miscellaneous
• Hwrite, Hread, Owrite and Oread have been added
Read and write for Hex and Octal array types is possible
• Signal expression can be placed within port maps
port map ( X, Y and Z, D) ;
• Replication of „X‟ and „Z‟ is possible
8X“ZZ" = “ZZZZZZZZ"
• Delimited comments are allowed:
/* C-Type delimited comment example */
• Context declaration allows you to bundle frequently used
library and use clauses
context IEEE_STD_CONTEXT is
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.NUMERIC_STD.all;
end context IEEE_STD_CONTEXT;
www.aldec.com
23
Conclusion
• The new VHDL standard features presented here can be helpful
to design community in many different ways:
Prioritized proposal and issues since 2002 have been addressed
With improved construct support its easy to write better and compact
code
Unification of the Packages leads towards simplified project
management
VHPI will provide the better communication between different
application
PSL subset will bring the reliability to the code
Encryption will allow the authors to provide IP to the users in more
secured way
Maintained VHDL nature, style and backward compatibility will help
users to adopt easily
www.aldec.com
24
References
• www.accellera.org
• www.eda.org
• www.synthworks.com
• www.klabs.org
www.aldec.com