Disabled external gits
This commit is contained in:
90
cs473-es/lab3/hw/hdl/LCDController/PixTrans_tb.vhd
Normal file
90
cs473-es/lab3/hw/hdl/LCDController/PixTrans_tb.vhd
Normal file
@@ -0,0 +1,90 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
use ieee.numeric_std.all;
|
||||
use ieee.math_real.all;
|
||||
|
||||
|
||||
entity PixTrans_tb is
|
||||
end PixTrans_tb;
|
||||
|
||||
architecture test of PixTrans_tb is
|
||||
constant CLK_PERIOD : time := 20 ns;
|
||||
constant N_LED_MAX : integer := 255;
|
||||
|
||||
constant MAX_H : natural := 4;
|
||||
constant MAX_W : natural := 4;
|
||||
|
||||
constant ACTUAL_H : natural := 2;
|
||||
constant ACTUAL_W : natural := 2;
|
||||
|
||||
signal clk : std_logic := '0';
|
||||
signal rst_n : std_logic;
|
||||
|
||||
signal fifo_empty, lcd_req : std_logic;
|
||||
signal fifo_q : std_logic_vector(31 downto 0);
|
||||
signal w, h : natural;
|
||||
|
||||
begin
|
||||
|
||||
w <= ACTUAL_W;
|
||||
h <= ACTUAL_H;
|
||||
|
||||
-- Instantiate DUT
|
||||
dut : entity work.PixTrans
|
||||
generic map (
|
||||
MAX_H => MAX_H,
|
||||
MAX_W => MAX_W
|
||||
)
|
||||
port map(
|
||||
clk => clk,
|
||||
rst_n => rst_n,
|
||||
lcd_req => lcd_req,
|
||||
fifo_q => fifo_q,
|
||||
fifo_empty => fifo_empty,
|
||||
w => w,
|
||||
h => h
|
||||
);
|
||||
|
||||
-- Clocking process
|
||||
clk_generation : process
|
||||
begin
|
||||
clk <= not clk;
|
||||
wait for CLK_PERIOD / 2;
|
||||
end process;
|
||||
|
||||
-- Testbench
|
||||
tb : process
|
||||
|
||||
procedure getPixel is
|
||||
begin
|
||||
wait until rising_edge(clk);
|
||||
lcd_req <= '1';
|
||||
wait for CLK_PERIOD;
|
||||
wait until rising_edge(clk);
|
||||
lcd_req <= '0';
|
||||
wait for CLK_PERIOD*3;
|
||||
end procedure getPixel;
|
||||
begin
|
||||
-- Just let the FIFO interface always provide data
|
||||
fifo_q <= X"FFFF" & X"F0F0";
|
||||
fifo_empty <= '0';
|
||||
lcd_req <= '0';
|
||||
|
||||
-- Reset
|
||||
rst_n <= '0';
|
||||
wait for CLK_PERIOD * 2.5;
|
||||
rst_n <= '1';
|
||||
wait for CLK_PERIOD * 2;
|
||||
|
||||
-- Get some pixels
|
||||
for i in 1 to MAX_H*MAX_W loop
|
||||
report "hello";
|
||||
getPixel;
|
||||
end loop;
|
||||
|
||||
-- Test finished
|
||||
wait;
|
||||
|
||||
end process;
|
||||
|
||||
end;
|
Reference in New Issue
Block a user