Download - jhsagfsagjysdf
-
8/10/2019 jhsagfsagjysdf
1/7
3. Configuration
If an entity contains many architectures and any one of the possible architecture binding with its entity is done usingconfiguration. It is used to bind the architecture body to its entity and a component with an entity.
Syntax:
configurationconfiguration_name ofentity_name isblock_configuration;
end configuration_name.
Block_configuration defines the binding of components in a block. This can be written as
forblock_namecomponent_binding;
endfor;
block_name is the name of the architecture body. Component binding binds the components of the block to entities. This canbe written as,
forcomponent_labels:component_nameblock_configuration;
endfor;
4. Package declaration:
Package declaration is used to declare components, types, constants, functions and so on.
Syntax:
packagepackage_name isDeclarations;
endpackage_name;
5. Package body:
A package body is used to declare the definitions and procedures that are declared in corresponding package. Values canbe assigned to constants declared in package in package body.
Syntax:
packagebodypackage_name isFunction_procedure definitions;endpackage_name;
The internal working of an entity can be defined using different modeling styles inside architcture body. They are
a. Dataflow modeling.
b. Behavioral modeling.
c. Structural modeling.
Lets try to understand with the help ofone example.
a. Dataflow modeling:
In this style of modeling, the internal working of an entity can be implemented using concurrent signal assignment.
Lets take half adder example which is having one XOR gate and a AND gate.
-
8/10/2019 jhsagfsagjysdf
2/7
LibraryIEEE;useIEEE.STD_LOGIC_1164.all;
entityha_en isport(A,B:inbit;S,C:outbit);
endha_en;
architectureha_ar ofha_en isbegin
S
-
8/10/2019 jhsagfsagjysdf
3/7
process_beh:process(A,B)begin
S
-
8/10/2019 jhsagfsagjysdf
4/7
signalC1,C2,S1:bit;
begin
HA1:ha_enportmap(A,B,S1,C1);HA2:ha_enportmap(S1,Cin,SUM,C2);CARRY A,B => B, S => S1 ,C => C1 );
HA2:ha_en port map(A => S1,B => Cin, S=> SUM, C => C2);
Test bench:
The correctness of the above program can be checked by writing the test bench.
The test bench is used for generating stimulus for the entity under test. Lets write a simple test bench for full adder.
libraryIEEE;
useIEEE.STD_LOGIC_1164.all;
entitytb_en is
endtb_en;
architecturetb_ar oftb_en issignala_i,b_i,c_i,sum_i,carry_i:bit;
begin
eut:entitywork.fa_en(fa_ar)portmap(A=>a_i,B=>b_i,Cin=>c_i,SUM=>sum_i,CARRY=>carry_i);
stimulus:processbegin
a_i
-
8/10/2019 jhsagfsagjysdf
5/7
Component_label:entityentity_name (architecture_name)
port map(signal_list);
-
8/10/2019 jhsagfsagjysdf
6/7
Mengenal VHDL
(0)
FPGA,VHDL
Tulisan ini akan mengulas sekelumit tentang kode yang sering digunakan di dalam FPGA.
Kode tersebut adalah VHDL (Very high speed integrated Hardwere Description Language).
Tulisan ini dan beberapa tulisan mendatang akan membahas konsep penting dalam VHDL
serta aturan penulisan (syntax) kode tersebut. Konsep sertasyntaxbanyak diperlukan untuk
mengerti bagaimana rancangan VHDL sebagai bagian dari pemrograman FPGA. Dalam
kebanyakan kasus, keputusan memilih dan menggunakan kode VHDL daripada kode Verilog
atau SystemC, sangat tergantung pada pilihan perancang itu sendiri dan lebih kepada
ketersediaan software pendukung serta kebutuhan perusahaan.
Lebih dari satu dekade, terjadi perdebatan panjang yang tek berkesudahan diantara komunitas
pengguna VHDL dengan Verilog. Mereka berdebat mengenai kode mana yang terbaik untukdigunakan dan kode apa yang lebih lengkap dalam hal aturan penulisannya. Memang diantara
kedua kode tersebut memiliki perbedaan yang cukup signifikan. Namun secara filosofi
konsep, perbedaan dasar dari VHDL dengan Verilog adalah mengenai konteks dari kedua
bahasa itu sendiri. Verilog berasal dari tradisi bottom-up yang telah sering digunakan
dalam industri IC dalam hal rancangan dasar IC. Sedangkan kode VHDL dikembangkan
lebih kepada persepektif top-down. Tentu saja, banyak perbedaan umum dan luas dalam
konteks saat ini. Namun, secara jelas dan nyata, perbedaannya dapat terlihat padasyntax
dasar dan metode dari kedua kode tersebut.
Selanjutnya, tanpa menurunkan kualitas tulisan dengan membahas perbedaan diantara VHDL
dan Verilog, satu hal penting tentang keunggulan VHDL adalah kemampuannya untukmenggunakan gabungan level dari model yang memiliki arsitektur yang berbeda seperti
ditunjukkan sebagai berikut :
Model VHDL dengan Arsitektur yang Berbeda
Hal tersebut memang bukanlah keunikan atau ciri khas VHDL. Namun, pada kenyataannya
kode Verilog juga memiliki konsep sama walaupun hanya terdapat dalam sebuah module.
Meskipun demikian, keungulan itu secara eksplisit didefinisikan dalam VHDL dan
secara praktis digunakan bersama oleh rancangan multi-leveldalam VHDL. Pembagian
sebuah model ke dalam beberapa bagian juga merupakan keuggulan lain dari VHDL.
Misalnya, bagian interface(dalam VHDL dikenal sebagai entity) dan bagian kelakuan atau
http://ndoware.com/mengenal-vhdl.html#commentsinfohttp://ndoware.com/mengenal-vhdl.html#commentsinfohttp://ndoware.com/mengenal-vhdl.html#commentsinfohttp://ndoware.com/tag/fpgahttp://ndoware.com/tag/fpgahttp://ndoware.com/tag/vhdlhttp://ndoware.com/tag/vhdlhttp://ndoware.com/tag/vhdlhttp://ndoware.com/tag/vhdlhttp://ndoware.com/tag/fpgahttp://ndoware.com/mengenal-vhdl.html#commentsinfo -
8/10/2019 jhsagfsagjysdf
7/7
behaviour(dalam VHDL dikenal sebagai architecture). Bagian-bagian tersebut adalah
pendekatan praktis yang luar biasa untuk bentuk model yang memiliki multiple behaviour
dalam sebuah interface. Selain itu bentuk model tersebut memungkinkan terjadi pertukaran
dan implementasi multiple secara terus menerus. Hal inilah salah satu pembeda VHDL
dengan Verilog.
Selanjutnya, tulisan mendatang akan menggambarkan beberapa kunci penting dari VHDL,
yang akan dimulai dari definisi dari sebuah model dasar menggunakan entities dan
architecture, membahas pentingnya tipe-tipe variabel, review terhadap metode bersama
encapsulation, sekuensial, dan kelakuan (behaviour). Bagian terakhir akan memberikan
pengenalan dasar terhadap jenis-jenis data yang dibutuhkan dalam VHDL.
Referensi : A VHDL Primer: The Essentials, Design Recipes for FPGA by Peter Wilson,
published by Newness Publications