##// END OF EJS Templates
Fusion avec martin
Fusion avec martin

File last commit:

r287:b49f9ec9e95a JC
r296:0b209f2187b8 merge JC
Show More
testbench_package.vhd
53 lines | 1.3 KiB | text/x-vhdl | VhdlLexer
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
LIBRARY grlib;
USE grlib.amba.ALL;
USE grlib.stdlib.ALL;
--LIBRARY gaisler;
--USE gaisler.libdcom.ALL;
--USE gaisler.sim.ALL;
--USE gaisler.jtagtst.ALL;
--LIBRARY techmap;
--USE techmap.gencomp.ALL;
PACKAGE testbench_package IS
PROCEDURE APB_WRITE (
SIGNAL clk : IN STD_LOGIC;
CONSTANT pindex : IN INTEGER;
SIGNAL apbi : OUT apb_slv_in_type;
CONSTANT paddr : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
CONSTANT pwdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0)
);
END testbench_package;
PACKAGE BODY testbench_package IS
PROCEDURE APB_WRITE (
SIGNAL clk : IN STD_LOGIC;
CONSTANT pindex : IN INTEGER;
SIGNAL apbi : OUT apb_slv_in_type;
CONSTANT paddr : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
CONSTANT pwdata : IN STD_LOGIC_VECTOR(31 DOWNTO 0)
) IS
BEGIN
apbi.psel(pindex) <= '1';
apbi.pwrite <= '1';
apbi.penable <= '1';
apbi.paddr <= paddr;
apbi.pwdata <= pwdata;
WAIT UNTIL clk = '1';
apbi.psel(pindex) <= '0';
apbi.pwrite <= '0';
apbi.penable <= '0';
apbi.paddr <= (OTHERS => '0');
apbi.pwdata <= (OTHERS => '0');
END APB_WRITE;
END testbench_package;