jhsagfsagjysdf

Upload: mgs-a-rifqi-murtadho

Post on 02-Jun-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 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