URL
https://opencores.org/ocsvn/lxp32/lxp32/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 2 |
Rev 6 |
Line 45... |
Line 45... |
architecture rtl of dbus_monitor is
|
architecture rtl of dbus_monitor is
|
|
|
signal prbs: std_logic;
|
signal prbs: std_logic;
|
signal cycle: std_logic:='0';
|
signal cycle: std_logic:='0';
|
|
|
|
signal cyc_ff: std_logic:='0';
|
|
signal ack_ff: std_logic:='0';
|
|
|
begin
|
begin
|
|
|
-- Manage throttling
|
-- Manage throttling
|
|
|
gen_throttling: if THROTTLE generate
|
gen_throttling: if THROTTLE generate
|
Line 86... |
Line 89... |
wbm_we_o<=wbs_we_i;
|
wbm_we_o<=wbs_we_i;
|
wbm_sel_o<=wbs_sel_i;
|
wbm_sel_o<=wbs_sel_i;
|
wbm_adr_o<=wbs_adr_i;
|
wbm_adr_o<=wbs_adr_i;
|
wbm_dat_o<=wbs_dat_i;
|
wbm_dat_o<=wbs_dat_i;
|
|
|
assert not rising_edge(clk_i) or wbm_ack_i='0' or (wbs_cyc_i and (not prbs or cycle))='1'
|
-- Check handshake correctness
|
|
|
|
process (clk_i) is
|
|
begin
|
|
if rising_edge(clk_i) then
|
|
if rst_i='1' then
|
|
cyc_ff<='0';
|
|
ack_ff<='0';
|
|
else
|
|
cyc_ff<=wbs_cyc_i;
|
|
ack_ff<=wbm_ack_i;
|
|
|
|
assert wbm_ack_i='0' or (wbs_cyc_i and (not prbs or cycle))='1'
|
report "DBUS error: ACK asserted without CYC"
|
report "DBUS error: ACK asserted without CYC"
|
severity failure;
|
severity failure;
|
|
|
|
assert not (wbs_cyc_i='0' and cyc_ff='1' and ack_ff/='1')
|
|
report "DBUS error: cycle terminated prematurely"
|
|
severity failure;
|
|
end if;
|
|
end if;
|
|
end process;
|
|
|
end architecture;
|
end architecture;
|
|
|
No newline at end of file
|
No newline at end of file
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.