Tampilkan postingan dengan label elektro. Tampilkan semua postingan
Tampilkan postingan dengan label elektro. Tampilkan semua postingan
10.53

Makalah VHDL

VHDL is a language for describing digital electronic systems. It arose out of the United States Government’s Very High Speed Integrated Circuits (VHSIC) program, initiated in 1980. In the course of this program, it became clear that there was a need for a standard language for describing the structure and function of integrated circuits (ICs). Hence the VHSIC Hardware Description Language (VHDL) was developed, and subsequently adopted as a standard by the Institute of Electrical and Electronic Engineers (IEEE) in the world. - Peter J. Ashenden


VHDL singkatan dari VHSIC Hardware Description Language dan merupakan sebuah bahasa pemrograman yang digunakan untuk mendefinisikan hardware elektronika digital. Pada pertengahan tahun 80’an, Departemen Pertahanan US dan IEEE mensponsori pengembangan bahasa pemrograman ini dengan tujuan untuk mengembangkan VHIC. Saat ini, VHDL telah menjadi salah satu bahasa standar industri elektronika yang digunakan untuk menggambarkan sistem digital.

Meskipun sepintas terlihat sama, ada beberapa hal yang membedakan VHDL dengan bahasa pemrograman lain pada umumnya. VHDL berhubungan dengan gerbang logika dimana setiap perintah dieksekusi secara parallel dengan segera saat adanya inputan. Sebuah program HDL meniru perilaku fisik, biasanya digital, sistem. Hal ini juga memungkinkan penggabungan spesifikasi waktu (gerbang penundaan) serta untuk menggambarkan sistem sebagai suatu interkoneksi dari berbagai komponen.


Teknologi VHDL ini terbagi berdasarkan jumlah gate yang ada, yaitu :
a. < 500 gerbang SPLD (Simple Programmable Logic Device)
b. 500 sampai 5000 gerbang CPLD (Complex Programmable Logic Device)
c. 5000 sampai 10.000 gerbang FPGA (Fast Programmable Gate Array) d. 10.000 sampai > 20.000 gerbang ASIC (Aplication Specific Intregrated Circuit)

VHDL terdiri dari beberapa elemen dasar, yaitu :
1. Identifier 4. Entity
2. Data Object 5. Architecture
3. Data Types 6. Package

1. Identifier

Dalam VHDL, Identifier memiliki beberapa karakter dengan aturan sebagai berikut :

1. Karakter yang diperbolehkan adalah huruf besar(A..Z), huruf kecil(a..z), huruf(0..9) dan garis
bawah(_).
2. Karakter pertama harus berupa huruf.
3. Karakter terakhir tidak diperbolehkan berupa garis bawah(_), penggunaan 2 karakter garis
bawah(_) juga tidak diperbolehkan.
4. Penggunaan huruf besar dan huruf kecil dianggap sama (tidak case sensitive).
5. Komentar dalam VHDL dimulai dengan karakter --.

2. Data Object

Terdapat 3 obyek data yaitu :

1. Konstanta

Obyek konstanta dapat menyimpan sebuah nilai yang didefiniskan saat deklarasi konstanta. Nilai yang sudah didefinisikan tersebut tidak dapat diubah selama proses desain.

Constant identifier[,identifier..]:type[:value];

2. Variabel

Obyek variabel dapat menyimpan sebuah nilai yang diberikan saat desain, dan nilai tersebut dapat dirubah kapanpun saat desain.

Variable identifier[,identifier..]:type[:value];

Syntax:
variable ctrl_bits: std_logic;

3. Signal

Obyek Signal bisa disamakan dengan variable, perbedaannya adalah bahwa signal dapat menyimpan ataupun melepaskan nilai logika, sedangkan variable tidak dapat, oleh karena itu, signal dapat diwujudkan dalam elemen memori.

Signal identifier[,identifier..]:type[:value];

Syntax:
signal con: std_logic;

3. Data Types


Ada 2 macam Data type yang digunakan berdasarkan standar IEEE, yaitu :

a. Berdasarkan standar IEEE 1076/93, yaitu : Boolean, Bit, Bit_vector dan Integer.
b. Berdasarkan standar IEEE 1164, yaitu Std Ulogic, std Logic dan std_Logic Vector.

4. Entity

Entity memberikan arti tentang bagaimana sebuah bagian rancangan dideskripsikan di VHDL dalam hubungannya dengan model VHDL lain dan juga memberikan nama untuk model tersebut. Di dalam entity juga diperbolehkan untuk mendefinisikan beberapa parameter yang mengambil model menggunakan hierarki. Kerangka dasar untuk sebuah entity digambarkan sebagai berikut :

entity is
….
entity ;

Syntax:
entity entity_name is
Port declaration;
end entity_name;

Sebuah deklarasi entity harus diawali dengan ‘entity’ dan diakhiri dengan kata ‘end’.

Sebuah cara atau metode untuk menghubungkan entity secara bersama adalah menggunakan PORTS. Sebuah port harus memiliki nama, arah/mode dan tipe. Hal ini didefinisikan bahwa entity menggunakan metode sebagai berikut:

port (
…list of port declarations…
);

Deklrasi port ini mendefinisikan jenis dari koneksi dan arah yang sesuai. Misalnya, deklarasi port untuk sebuah input bit adalah 1, maka digambarkan sebagai berikut :

in1 : in bit;

Dan jika model tersebut memiliki 2 input (in1 dan in2) dan satu output (out1), maka deklarasi ports dapat digambarkan berikut:

port (
in1, in2 : in bit;
out1 : out bit
);

Dengan mengunakan ports maka titik koneksi diantara entities akan berlangsung dengan efektif dalam hal proses koneksi entities satu sama lain. Selain itu, dengan menggunakan ports akan menjadikan sinyal yang ada menjadi efektif serta cocok digunakan dalam model VHDL.

5. Architecture

Architecture Body dalam sebuah entity berfungsi untuk mendeskripsikan apa yang akan dilakukan atau proses apa yang akan sikerjakan oleh perangkat keras yang didesain.

ARCHTECTURE architecture-name OF entity-name IS
[type-declarations]
[signal-declarations]
[constant-declarations]
BEGIN
[architecture definition]
END architecture-name;

Dalam architecture body ada beberapa jenis, antara lain :

a. Structural description
Perencanaan didasarkan pada pemakaian komponen (logical gate) pada library dan hubungan antar componen-componen tersebut (a set of interconected component).

Structural description meliputi :
· Signal declaration.
· Component instances
· Port maps.
· Wait statements.

Component declaration:
Syntax:
component component_name [is]
List_of_interface ports;
end component component_name;


b. Data flow description

Perencanaan berdasarkan pada proses data transfer ( dari signal atau dari input ke output tanpa statement sequential ) yang merupakan sekumpulan dari concurent assignment statement. Perbedaan utama antara data flow dengan behavioral adalah yang satu menggunakan proses yang lain tidak.

Berikut ini adalah coding half adder yang mempunyai 1 XOR gate dan sebuahAND gate.

Library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity ha_en is
port (A,B:in bit;S,C:out bit);
end ha_en;
architecture ha_ar of ha_en is
begin
S<=A xor B;
C<=A and B;
end ha_ar;

c. Behavioral description

Perencanaan didasarkan pada proses pengerjaan statement antar input dan output secara sequential/berurutan/step by step dengan menggunakan statement sequential (a set of sequential statement). Keuntungan dari behavioral description yang merupakan high level description adalah kita tidak perlu memfokuskan pada gate level pada desain implementasi tetapi kita fokuskan pada usaha mengakuratkan model fungsi. Proses statement dimulai dengan sebuah label yang diikuti dengan tanda ‘:’ kemudian kata ‘proses’ dan sensitivity list dan dibawahnya diikuti dengan sequential statement, setelah bagian sequential statement selesai diakhiri dengan ‘end process’ dan label process.

Yang termasuk sequential statement, antara lain :
1) Process statement
2) If-then-else statement
3) Case-when statement
4) For-loop statement
5) While-loop statement

6. Package

Sebuah package dapat mendeklarasikan komponen berupa pasangan entity dan architecture, type, konstanta atau fungsi agar item-item tersebut dapat digunakan pada desain yang lain. Package sering kali dituliskan sebelum entity dan architecture. Agar sebuah desain dapat menggunakan package yang sudah dibuat, maka pada desain tersebut harus memanggil package yang akan dipakai dengan menggunakan klausa USE

ENTITY entity-name IS PORT
[signal][sig-name,..]:[direction] type;
[;signal[sig-name,..]:[direction] type]
.
.
);
END entity-name;
ARCHITECTURE architecture-name OF entity-name IS
[type-declarations]
[signal-declarations]
[constant-declarations]
BEGIN
[architecture definition]
END architecture-name;



Berikut ini adalah contoh coding d-flip flop menggunakan process dan if statement.


library IEEE;
use IEEE.std_logic_1164.all;

entity dffv1 is

port(
d : in std_logic;
ena : in std_logic;
q : out std_logic
);

end dffv1;

architecture arch1 of dffv1 is
begin

process (d, ena)
begin
if (ena = '1') then
q <= d;
end if;
end process;

end arch1;


Berikut ini adalah contoh coding d-flip flop menggunakan wait statement.

library IEEE;
use IEEE.std_logic_1164.all;

entity dff is

port(
D : in std_logic;
CLK : in std_logic;
Q : out std_logic;
Qbar : out std_logic
);

end dff;


architecture arch1 of dff is

begin

-- Your VHDL code defining the model goes here
output: process
begin
wait until (CLK'event and CLK = '1');
Q <= D after 10 ns;
Qbar <= not D after 10 ns;
end process output;
end arch1;





DAFTAR PUSTAKA

Putra, A E. (2010). Abstraksi dan Sintesis VHDL - VHSIC Hardware Description Language. (Online). Tersedia: http://agfi.staff.ugm.ac.id/blog/index.php/ 2010/02/abstraksi-sintesis-vhdl-vhsic-hardware-description-language [ 8 Maret 2010 ]

Spiegel, J. (2006). VHDL Tutorial. (Online). Tersedia: http://www.seas.upenn.edu/~ese201/ vhdl/vhdl_primer.html [ 9 Maret 2010 ]


Sutikno, T. (2009). VHDL = Very High-Speed Integrated Circuit (VHSIC) Hardware Description Language. (Online). http://blog.uad.ac.id/tole/2009/03/vhdl-very-high-speed-integrated-circuit-vhsic-hardware-description-language [ 8 Maret 2010 ]


http://ndoware.com/mengenal-vhdl-bagian-2.html [ 8 Maret 2010 ]
http://www.cs.uregina.ca/Links/class-info/301/register/lecture.html [ 8 Maret 2010 ]

09.37

IC Timer 555


IC 555 ini biasa dikenal dengan IC Timer, dikatakan timer karena dapat menghasilkan besaran clock. IC Timer 555 umumnya dipakai untuk membuat rangkaian flip flop. Adapun rincian dari IC tersebut sebagai berikut.


Rincian:

1. Ground
Pin ini merupakan titik referensi untuk seluruh sinyal dan tegangan pada rangkaian 555, baik rangkaian intenal maupun rangkaian eksternalnya.

2. Trigger
Masukan trigger biasanya dijaga pada tegangan lebih dari 1/3Vcc agar output pin3 dari IC555 ’low’. Jika masukan trigger menjadi ’low’ (<1/3Vcc) mengakibatkan output pin3 menjadi ’high’. Otput pin3 akan bertahan ‘high’ selama masukan triggernya ‘low’, tetapi tidak serta merta menjadi ‘low’ ketika pin2 kembali ‘high’.

3. Output
Output pada 555 dapat mengalir arus baik sinking(masuk) maupun sourcing(keluar) hingga 200mA. Tidak seperti IC lain yang biasanya hanya dapat mengalirkan arus source (keluar) yang sangat kecil.

4. Reset
Pin reset ini terhubung dengan input preset dari R-S flip-flop kontrol. Jika pin4 diberi masukan ’low’ output dari 555 akan serta merta menjadi ’low’. Biasanya, jika tidak digunakan pin4 dihubungkan ke Vcc untuk menjaga agar tidak terjadi keadaan ’low’.

5. Control Voltage
Biasanya diberi 2/3Vcc (hasil dari pembagi tegangan). Dengan memberi sumber tegangan eksternal atau dengan menghubungkan sebuah resistor ke ground akan mengubah duty cycle outputnya. Jika pin5 tidak digunakan harus dihubungkan dengan decoupling kapasitor 0,01-0,1mikroFarad.

6. TreshHold
Pin ini terhubung pada input noninverting komparator1 untuk memonitor tegangan kapasitor pada rangkaian RC eksternal. Apabila tegangan pin6 <2/3vcc,>2/3Vcc output komparator1 akan ‘high’, output Flip-flopnya ‘high’, dan pin3 ‘low’.

7. Discharge
Pin ini terhubung ke kaki kolektor transistor NPN Q1 dan kaki emiter Q1 terhubung ke groud, basis Q1 terhubung dengan Qnot R-S flip-flop. Ketika output 555 ‘high’ maka Qnot ‘low’ menyebabkan resistansi CE sangat besar sehingga Q1 ‘off’. Ketika Qnot’high’ CE resistensinya sangat kecil menyebabkan CE grounded sehingga Q1 ‘on’. Dengan kata lain, pin7 grounded (arus mengalir dari pin7 lewat CE ke pin1).

8. Vcc
Vcc (sumber tegangan dc) dihubungkan antara pin8 dengan pin1 (ground).

14.08

Kerusakan sistem tenaga lsitrik

Penyebab kegagalan atau kerusakan sistem tenaga listrik:

  1. Korsluiting atau arus pendek atau hubungan singkat atau short.
  2. Kelebihan beban.
  3. Sambaran petir.
  4. Kerusakan selubung isolasi pada kawat penghantar.
Gangguan-gangguan tersebut menyebabkan:
  1. Lonjakan tegangan yang berlebihan.
  2. Aliran arus yang sangat besar.
  3. Bunga api listrik.
Proteksi:
  1. Fuse (sekering).
  2. Circuit breaker.
  3. Relay. (Bila arus naik maka akan putus sendiri).