Anda di halaman 1dari 17

TUGAS PERANCANGAN SISTEM ELEKTRONIS

DISUSUN OLEH : Muslim Munawar ( H1C010040)

KEMENTRIAN PENDIDIKAN DAN KEBUDAYAAN UNIVERSITAS JENDERAL SOEDIRMAN FAKULTAS SAINS DAN TEKNIK JURUSAN TEKNIK TEKNIK ELEKTRO PURBALINGGA 2012

register 4 bit

Register adalah suatu rangkaian sekuensial yang akan berfungsi menyimpan data secara sementara lalu akan mengoutputkanya jika syarat dan ketentuanya terpenuhi. Pengertian Register Register adalah komponen dalam computer yang dibangun dari gerbang logika dan flipflop.Register biasanya diukur berdasarkan bit (binary digit) yang dapat disimpan. Misalnya, register geser 4 bit, adalah register yang dapat menyimpan 4 bit. Berdasarkan data yang dikelolanya, register dapat dibedakan menjadi : 1. Register Data, digunakan untuk menyimpan bilangan integer. 2. Register Alamat, digunakan untuk menyimpan alamat yang digunakan mengakses memori. 3. Register Tujuan Umum, digunakan untuk menyimpan data maupun alamat, 4. Register floating point, digunakan untuk menyimpan bilangan titik mengambang. 5. Register Konstanta, digunakan untuk menyimpan nilai yang dapat dibaca. 6. Register Vektor, digunakan untuk menyimpan data dalam melakukan pemrosesan vector. 7. Register Tujuan Khusus, digunakan untuk menyimpan kondisi program (program state) termasuk di dalamnya pencacah program, penunjuk tumpukan (stack pointer) dan register status. 8. Register yang berhubungan dengan pengaksesan memori seperti register penahan (buffer register) register data, register alamat dan register lainnya. Register terdiri dari beberapa gerbang atau flip-flop yang saling berhubungan disusun dalam sebuahrangkaian. untuk

D flip-flop with asynchronous reset D flip flop dengan asynchronus reset adalah suatu rangkaian sekuensial yang berfungsi sebagai register dalam hal ini, lalu akan mempunyai reset asynchronus yang nantinya akan dibandingkan dengan synchronus reset, Saya akan mencoba merancang D flip-flop with asynchronous reset, berikut adalah source code dari perancangan yang telah saya buat.

LIBRARY ieee ; USE ieee.std_logic_1164.all ;

ENTITY flipflop IS PORT ( D : IN : OUT : IN std_logic_vector(3 DOWNTO 0); STD_LOGIC ; std_logic_vector(3 DOWNTO 0)) ;

Resetn, Clock Q END flipflop ;

ARCHITECTURE Behavior OF flipflop IS BEGIN PROCESS ( Resetn, Clock ) BEGIN IF Resetn = '0' THEN Q <= "0000" ; ELSIF Clock'EVENT AND Clock = '1' THEN Q <= D ; END IF ; END PROCESS ; END Behavior ; LIBRARY ieee ;

USE ieee.std_logic_1164.all ;

ENTITY flipflop_tb IS end flipflop_tb;

architecture bench of flipflop_tb is signal D : std_logic_vector(3 DOWNTO 0); signal Resetn : std_logic; signal clock :std_logic; signal Q : std_logic_vector(3 DOWNTO 0);

begin M: entity work.flipflop port map (D => D, Resetn => Resetn, clock => clock, Q => Q);

arithmetic : process is begin

D <= "1010";

Resetn <= '0'; clock <= '0'; wait for 30 ns; Resetn <= '0'; clock <= '1'; wait for 60 ns; Resetn <= '1'; clock <= '0'; wait for 80 ns; Resetn <= '1'; clock <= '1'; wait for 100 ns; Resetn <= '0'; clock <= '0'; wait for 120 ns; Resetn <= '0'; clock <= '1';

wait for 140 ns; Resetn <= '1'; clock <= '0'; wait for 160 ns; Resetn <= '1'; clock <= '1'; wait for 180 ns;

wait; end process; end architecture bench;

Hasil data flow simulasi :

Pada saat waktu 1

Pada saat waktu 2

Pada saat waktu 3

Pada saat waktu 4

syinkronus reset Entity


LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY flipflop IS PORT ( D : IN std_logic_vector(3 DOWNTO 0); Resetn, Clock : IN STD_LOGIC ; Q : OUT std_logic_vector(3 DOWNTO 0)) ; END flipflop ; ARCHITECTURE Behavior OF flipflop IS BEGIN PROCESS(Clock) BEGIN IF rising_edge(Clock) THEN IF Resetn = '0' THEN Q <= "0000" ; ELSE Q <= D ; END IF ; END IF; END PROCESS ; END Behavior ;

LIBRARY ieee ; USE ieee.std_logic_1164.all ;

ENTITY flipflop_tb IS end flipflop_tb;

architecture bench of flipflop_tb is signal D : std_logic_vector(3 DOWNTO 0); signal Resetn : std_logic; signal clock :std_logic;

signal Q : std_logic_vector(3 DOWNTO 0);

begin M: entity work.flipflop port map (D => D, Resetn => Resetn, clock => clock, Q => Q);

arithmetic : process is begin

D <= "1010";

Resetn <= '0'; clock <= '0'; wait for 30 ns; Resetn <= '0'; clock <= '1';

wait for 60 ns; Resetn <= '1'; clock <= '0'; wait for 80 ns; Resetn <= '1'; clock <= '1'; wait for 100 ns; Resetn <= '0'; clock <= '0'; wait for 120 ns; Resetn <= '0'; clock <= '1'; wait for 140 ns; Resetn <= '1'; clock <= '0'; wait for 160 ns; Resetn <= '1'; clock <= '1'; wait for 180 ns;

wait; end process; end architecture bench;

LIBRARY ieee ; USE ieee.std_logic_1164.all ;

ENTITY flipflop_tb IS end flipflop_tb;

architecture bench of flipflop_tb is signal D : std_logic_vector(3 DOWNTO 0); signal Resetn : std_logic; signal clock :std_logic; signal Q : std_logic_vector(3 DOWNTO 0);

begin M: entity work.flipflop port map (D => D, Resetn => Resetn, clock => clock, Q => Q);

arithmetic : process is begin

D <= "1010";

Resetn <= '0'; clock <= '0'; wait for 30 ns; Resetn <= '0'; clock <= '1'; wait for 60 ns;

Resetn <= '1'; clock <= '0'; wait for 80 ns; Resetn <= '1'; clock <= '1'; wait for 100 ns; Resetn <= '0'; clock <= '0'; wait for 120 ns; Resetn <= '0'; clock <= '1'; wait for 140 ns; Resetn <= '1'; clock <= '0'; wait for 160 ns; Resetn <= '1'; clock <= '1'; wait for 180 ns;

wait;

end process; end architecture bench;

Anda mungkin juga menyukai