YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: FPGA Data Type Gates

Desain Sistem DigitalData Tipe dan Operator Aritmatika

Eko Setiawan

Page 2: FPGA Data Type Gates

Operator

Page 3: FPGA Data Type Gates

Tipe Data

Page 4: FPGA Data Type Gates

Library Aritmatika

• Sebelum melakukan operasi aritmatika harus dilakukan pemanggilan library numerik

library ieee;use ieee.std_logic_1164.all;

use ieee.numeric_std.all;

...signal sl, s2, s3, s4, s5, s6: std_logic_vector(3 downto 0 );

signal ul, u2, u3, u4, u5, u6, u7: unsigned(3 downto 0);

...

Page 5: FPGA Data Type Gates

Casting

• Casting atau konversi antar tipe data perlu dilakukan saat menghubungkan sinyal dengan data berbeda

ul <= unsigned( s1 ); -- type castingu2 <= to_unsigned( 5,4 ) ; -- conversion functions2 <= std_logic_vector( u3 ); -- type castings3 <= std_logic_vector( to_unsigned ( 5,4 ));s5 <= std_logic_vector( unsigned(s2) + unsigned(s1));s6 <= std_logic_vector( unsigned(s2) + 1) ;

Page 6: FPGA Data Type Gates

Concenation

• Concenation menggabungkan dua buah array 1-D menjadi satu array 1-D

signal a1: std_logic ;signal a4: std_logic_vector (3 downto 0);signal b8, c8, d8: std_logic_vector (7 downto 0) ;

...b8 <= a4 & a4;c8 <= a1 & a1 & a4 & ”00”;d8 <= b8(3 downto 0) & c8(3 downto 0);

Page 7: FPGA Data Type Gates

Tri-state condition

• VHDL merepresentasikan kondisi logika menjadi ‘1’, ‘0’ dan ‘Z’ yang mewakili kondisi high-impedance

entity bi-demo is

port ( bi : inout std_logic ;

)

begin

sig_out <= output_expression;…bi <= sig_out when dir=’l’ else ’Z’;

sig_in <= bi;

Page 8: FPGA Data Type Gates

Process

process (a,b) begin

c <= a and b; c <= a or b;

end process;

sama dengan kode:

process (a,b) begin

c <= a or b; end process;

• Proses digunakan jika kode ingin dieksekusi secara urut

• Proses digunakan untuk meminimalkan kesalahan

• Apabila terdapat dua koneksi, sinyal yang dihubungkan adalah ekspresi yang paling akhir

Page 9: FPGA Data Type Gates

If-else

architecture if_arch of decoder_2_4 is begin

process (en,a)begin

if (en=‘0’) then

y <= “0000”;

elsif (a=“00”) then

y <= "0001”;

elsif (a="01”) then

y <= "0010";

elsif (a="10") then

y <= "0100";

elsey <= "1000";

end if ;

end process;

end if-arch;

Page 10: FPGA Data Type Gates

Comparison

large <= a when a > b else b;

small <= b when a > b else a;

Sama seperti:

process (a,b) begin

if a>b then

large <= a;

small <= b;

else

large <= b;

small <= a;

end if;

end ;

Page 11: FPGA Data Type Gates

Case

process (a,b,c,sel)

begin

case sel iswhen “00” =>

r <= a + b + c;

when “10” =>

r <= a - b;

when others =>

r <= c + 1;

end case;

end process;

Sama dengan kode:

with sel select

r <= a + b + c when “00” ,

a – b when “10” ,

c + 1 when others ;

Page 12: FPGA Data Type Gates

Constant and Generics

• Constant digunakan untuk merepresentasikan konstanta dan dideklarasikan dalam architecture

constant const_name : data_type : = value_expression;

• Generic juga digunakan untuk merepresentasikan konstanta. Generic dideklarasikan pada entity sehingga dapat diakses dari luar blok

entity entity_name is

generic (

generic_name : data_type : = default_values ;

)

port (

port_name : mode data_type ;

);

end entity_name;

Page 13: FPGA Data Type Gates

Tugas-2

• Rancanglah rangkaian logika dengan yang minimal terdiri dari :• 4 gerbang,• 4 masukan dan• 4 keluaran

• Sertakan tabel kebenaran (25%) dan gambar rangkaian (25%)

• Simulasikan kode VHDL pada ISE (50%)• Kumpulkan dalam softcopy (boleh scan, foto, atau screen

capture)


Related Documents