Question

Write a test bench for the following VHDL code -------------------------------------------------------------------------------------------------------------------------------- LIBRARY ieee ; USE ieee.std_logic_1164.all ;...

Write a test bench for the following VHDL code

--------------------------------------------------------------------------------------------------------------------------------

LIBRARY ieee ;

USE ieee.std_logic_1164.all ;

ENTITY registern IS

GENERIC (N: INTEGER :=4);    -- INTEGER=32, 16, …..

PORT (D           : IN STD_LOGIC_VECTOR (N-1 downto 0);

clk, reset, Load   : IN      STD_LOGIC ;

Q           : OUT   STD_LOGIC_VECTOR (N-1 downto 0 )) ;

END registern;

ARCHITECTURE behavior OF registern IS

BEGIN

PROCESS (clk)

BEGIN

IF clk' EVENT AND clk='1' THEN

IF (reset ='0') THEN    --synchronous reset

Q<=(OTHERS=>’0’);

ELSIF (L ='0') THEN Q<=D;

END IF;

END IF;

END PROCESS;

end Behavior;

0 0
Add a comment Improve this question Transcribed image text
Answer #1

TESTBENCH CODE:-

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity tb1 is
-- Port ( );
end tb1;

architecture Behavioral of tb1 is
component registern IS

GENERIC (N: INTEGER :=4);

PORT (D : IN STD_LOGIC_VECTOR (N-1 downto 0);

clk, reset, Load: IN STD_LOGIC ;

Q : OUT STD_LOGIC_VECTOR (N-1 downto 0 )) ;

END component;
signal td,tq:std_logic_vector(3 downto 0);
signal tload:std_logic;
signal tclk: std_logic := '0';
signal treset: std_logic := '0';
begin
treset<='0' , '1' after 10 ns;
tload<='0' , '1'after 15 ns, '0' after 25 ns , '1' after 40 ns , '0' after 50 ns , '1' after 60 ns, '0' after 70 ns , '1' after 80 ns;
td<="0001" , "1011" after 12ns , "0101" after 25 ns , "0011" after 35 ns , "1001" after 50 ns , "1111" after 70 ns;
Uut: registern
generic map(N=>4)
PORT MAP(td,tclk,treset,tload,tq);
process
begin
wait for 5ns;
tclk<=not tclk;
end process;
end Behavioral;

WAVEFORM:-

Name Value 40 ns ,60 ns 80 ns ,100 ns 120 ns 140 ns ,160 ns ,180 ns > > Y 3Y9 td[3:0] tq[3:0] 18 tload 16 telk 16 treset Acti

Add a comment
Know the answer?
Add Answer to:
Write a test bench for the following VHDL code -------------------------------------------------------------------------------------------------------------------------------- LIBRARY ieee ; USE ieee.std_logic_1164.all ;...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • QUESTION 1 Complete the following peice of VHDL code with the necessary VHDL statements for a...

    QUESTION 1 Complete the following peice of VHDL code with the necessary VHDL statements for a counter that counts through this sequence(0,9,17,15,4,26) repeatedly. library IEEE use IEEE.STD_LOGIC_1164 ALL entity GCC is Port ( systemClock, reset in STD_LOGIC end GCC architecture Behavioral of GCC is stateOutput out STD LOGIC_ VECTOR (4 downto 0)) component FreqDivider is Port (systemClock in STD_LOGIC; slowClock: out STD LOGIC); end component, signal nextState, presentState: std_logic_vector(5 downto 0) := "00000"; signal slowClock: std_logic begin FD0: FreqDivider port...

  • 3. Study the VHDL code below for the multiplexer: -mux.vhd library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;...

    3. Study the VHDL code below for the multiplexer: -mux.vhd library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use jeee.std logic.arith.all; entity mux is port DIFF1, DIFF2: n std_logic_vector(4 downto O); ABSLT: out std_logic_vector(4 downto 0); CO: in std logic ); end mux; architecture behv of mux is begin with CO select ABSLT DIFF1 when o, a CO-0 selects B-A DIFF2 when 1',a Co-1 selects A-B "ZZZZZ" when others·.. high impedance otherwise end behy

  • Draw the RTL schematic of the hardware that will be synthesized for the VHDL code below....

    Draw the RTL schematic of the hardware that will be synthesized for the VHDL code below. entity unknown is port (x: in std_logic_vector(7 downto 0); op: in std_logic_vector(1 downto 0); clk: in std_logic; f: out std_logic_vector(7 downto 0)); end entity. architecture arch of unknown is signal a, b, c, d: std_logic_vector(7 downto 0); begin d <= x; process (clk) begin if (rising_edge(clk)) then a <= b; b <= c + a; c <= d; if (op = “00”) then f...

  • Name: ·5. (10 lts) Find and correct errors in the following VHDL ed. IEEE ; library use IEEE . STD LOGIC-1104 . all...

    Name: ·5. (10 lts) Find and correct errors in the following VHDL ed. IEEE ; library use IEEE . STD LOGIC-1104 . all; entity cicuitl is port (a, b, elk: in STD_LOGIC: This part of the code its correct.That is, the entity definition and the 1ibraries are written correctly S out STD LOGIC) ond; architecture synth of eicuiti is begin This part of the code ธhould be a process that groups input a and input b together to forn a...

  • 8.(5 points).There is an error in following VHDL code. Find the error and correct (only that...

    8.(5 points).There is an error in following VHDL code. Find the error and correct (only that line of code). LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY dec2to4 IS PORT (i IN STD LOGIC VECTOR (1 DOWNTO 0); : En IN STD_LOGIC; d OUT STD LOGIC); END dec2to4; ARCHITECTURE dataflow OF dec2to4 IS BEGIN SIGNAL Eni: STD_LOGIC_VECTOR(2 DOWNTO 0); Eni <= En & i; -concatenate signals WITH Eni SELECT d <"0001" WHEN "100" "0010" WHEN "101", "0100" WHEN "110", "1000" WHEN "111", 0000"...

  • Please fully answer BOTH parts of the question (a) and (b). a) Draw the high level...

    Please fully answer BOTH parts of the question (a) and (b). a) Draw the high level synthesized diagram of the following VHDL code. What does the following circuit do? Write the sequence of output generated by this circuit. library ieee; use ieee.std_logic_1164.all; entity sequence is port ( cout :out std_logic_vector (3 downto 0); clk :in std_logic; reset :in std_logic ); end entity; architecture rtl of sequence is signal count :std_logic_vector (3 downto 0); begin process (clk) begin if (rising_edge(clk)) then...

  • Write a VHDL code using processes for the following logic circuit which include a shift register...

    Write a VHDL code using processes for the following logic circuit which include a shift register and 4x1 multiplexer. Use the entity below.              entity registers_min_max is port( din   : in std_logic_vector(3 downto 0);       reset : in std_logic;       clk   : in std_logic;       sel   : in std_logic_vector(1 downto 0);       reg_out : out std_logic_vector(3 downto 0)); end registers_min_max; din reset RO clk reset R1 A C clk reset R2 clk reset R3 clk 3 0 sel LE

  • Create a new architecture for ripple_counter (below) called beh_mod10cnt that changes the behavior to a modulo-10...

    Create a new architecture for ripple_counter (below) called beh_mod10cnt that changes the behavior to a modulo-10 ripple counter. The ripple counter entity entity ripple_counter is generic (n : natural := 4); port ( clk : in std_logic; clear : in std_logic; dout : out std_logic_vector(n-1 downto 0) ); end ripple_counter; The ripple counter architecture architecture arch_rtl of ripple_counter is signal clk_i : std_logic_vector(n-1 downto 0); signal q_i : std_logic_vector(n-1 downto 0); begin clk_i(0) <= clk; clk_i(n-1 downto 1) <= q_i(n-2...

  • Identify and correct the mistakes of code. Identify and draw table for the circuit. library ieee;...

    Identify and correct the mistakes of code. Identify and draw table for the circuit. library ieee; 1 use ieee.std_logic_1164.all; 2 3 entity mux4x1_seq is 4. 5 port 6 ip0: ip1: ip2: ip3 in std_logic; 7 in std_logic_vector(0 to 1); out std_logic}; 9 op end mux4x1_seq}; 10 11 architecture beh of mux4x1_seq is 12 13 |begin 14 P_mux: process (ip0,ip1,ip2,ip3,s); variable temp: std_logic; 15 16 begin 17 case s is 18 temp ip0; when "00" => 19 when "01" temp ip1;...

  • S2) Draw the logic circuit on the side of which the given VHDL code is real....

    S2) Draw the logic circuit on the side of which the given VHDL code is real. library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity devre is 81: out STD_LOGIC; Y2 : out port (A,B,C : in STD_LOGIC; STD_LOGIC); end devre; architecture behavioral of devre is begin Y1 <= (A xor B) and (not C); Y2 <= (A and (B or C)); end behavioral;

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT