Library of reusable VHDL components
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

55 lines
1.5 KiB

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity WishBoneCheckerE is
port (
--+ wishbone system if
WbRst_i : in std_logic;
WbClk_i : in std_logic;
--+ wishbone outputs
WbMCyc_i : in std_logic;
WbMStb_i : in std_logic;
WbMWe_i : in std_logic;
WbMAdr_i : in std_logic_vector;
WbMDat_i : in std_logic_vector;
--+ wishbone inputs
WbSDat_i : in std_logic_vector;
WbSAck_i : in std_logic;
WbSErr_i : in std_logic
);
end entity WishBoneCheckerE;
architecture check of WishBoneCheckerE is
begin
-- psl default clock is rising_edge(WbClk_i);
--
-- Wishbone protocol checks
--
-- psl property initialize(boolean init_state) is
-- always ({WbRst_i} |=> {init_state[+] && {WbRst_i[*]; not(WbRst_i)}});
--
-- psl RULE_3_00 : assert initialize(not(WbMCyc_i) and not(WbMStb_i) and not(WbMWe_i))
-- report "Wishbone rule 3.00 violated";
--
-- psl property reset_signal is
-- always {not(WbRst_i); WbRst_i} |=> {(WbRst_i and not(WbClk_i))[*]; WbRst_i and WbClk_i};
--
-- psl RULE_3_05 : assert reset_signal
-- report "Wishbone rule 3.05 violated";
--
-- -- psl property master_cycle_signal(boolean master_strobe, master_cyc) is
-- -- always {master_strobe} |-> {master_cyc[+] && {not(master_strobe)[->]:WbClk_i}};
-- --
-- -- psl RULE_3_25 : assert master_cycle_signal(WbMStb_i, WbMCyc_i)
-- -- report "Wishbone rule 3.25 violated";
end architecture check;