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;
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:-
Write a test bench for the following VHDL code -------------------------------------------------------------------------------------------------------------------------------- LIBRARY ieee ; USE ieee.std_logic_1164.all ;...
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; 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. 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; 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 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 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 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 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; 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. 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;