Line 1... |
Line 1... |
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
--
|
--
|
-- The Clock Control unit.
|
-- The Clock Control unit.
|
-- Clock States and Machine Cycles are generated here.
|
-- Clock States and Machine Cycles are generated here.
|
--
|
--
|
-- $Id: clock_ctrl.vhd,v 1.7 2005-05-04 20:12:36 arniml Exp $
|
-- $Id: clock_ctrl.vhd,v 1.8 2005-06-09 22:15:10 arniml Exp $
|
--
|
--
|
-- Copyright (c) 2004, 2005, Arnim Laeuger (arniml@opencores.org)
|
-- Copyright (c) 2004, 2005, Arnim Laeuger (arniml@opencores.org)
|
--
|
--
|
-- All rights reserved
|
-- All rights reserved
|
--
|
--
|
Line 214... |
Line 214... |
wr_q <= true;
|
wr_q <= true;
|
end if;
|
end if;
|
end if;
|
end if;
|
|
|
when MSTATE1 =>
|
when MSTATE1 =>
|
if xtal3_s then
|
if en_clk_i then -- equivalent to xtal3_s
|
psen_q <= false;
|
psen_q <= false;
|
end if;
|
end if;
|
|
|
when MSTATE2 =>
|
when MSTATE2 =>
|
if xtal2_s then
|
if xtal2_s then
|
Line 227... |
Line 227... |
-- end of XTAL3 but this would raise the need to change P2 at
|
-- end of XTAL3 but this would raise the need to change P2 at
|
-- XTAL1 or XTAL2 -> introduction of inter-xtal timing in
|
-- XTAL1 or XTAL2 -> introduction of inter-xtal timing in
|
-- the rest of the core.
|
-- the rest of the core.
|
prog_q <= false;
|
prog_q <= false;
|
end if;
|
end if;
|
if xtal3_s then
|
if en_clk_i then -- equivalent to xtal3_s
|
-- RD, WR are removed at the end of XTAL3 of second machine cycle
|
-- RD, WR are removed at the end of XTAL3 of second machine cycle
|
rd_q <= false;
|
rd_q <= false;
|
wr_q <= false;
|
wr_q <= false;
|
end if;
|
end if;
|
|
|
Line 240... |
Line 240... |
if xtal2_s then
|
if xtal2_s then
|
ale_q <= true;
|
ale_q <= true;
|
end if;
|
end if;
|
|
|
when MSTATE4 =>
|
when MSTATE4 =>
|
if xtal3_s then
|
if en_clk_i then -- equivalent to xtal3_s
|
-- PSEN is set at the end of XTAL3
|
-- PSEN is set at the end of XTAL3
|
if assert_psen_i then
|
if assert_psen_i then
|
psen_q <= true;
|
psen_q <= true;
|
end if;
|
end if;
|
|
|
Line 396... |
Line 396... |
|
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
-- File History:
|
-- File History:
|
--
|
--
|
-- $Log: not supported by cvs2svn $
|
-- $Log: not supported by cvs2svn $
|
|
-- Revision 1.7 2005/05/04 20:12:36 arniml
|
|
-- Fix bug report:
|
|
-- "Wrong clock applied to T0"
|
|
-- t0_o is generated inside clock_ctrl with a separate flip-flop running
|
|
-- with xtal_i
|
|
--
|
-- Revision 1.6 2004/10/25 20:31:12 arniml
|
-- Revision 1.6 2004/10/25 20:31:12 arniml
|
-- remove PROG and end of XTAL2, see comment for details
|
-- remove PROG and end of XTAL2, see comment for details
|
--
|
--
|
-- Revision 1.5 2004/10/25 19:35:41 arniml
|
-- Revision 1.5 2004/10/25 19:35:41 arniml
|
-- deassert rd_q, wr_q and prog_q at end of XTAL3
|
-- deassert rd_q, wr_q and prog_q at end of XTAL3
|
Line 415... |
Line 421... |
-- move code for PROG out of if-branch for xtal3_s
|
-- move code for PROG out of if-branch for xtal3_s
|
--
|
--
|
-- Revision 1.1 2004/03/23 21:31:52 arniml
|
-- Revision 1.1 2004/03/23 21:31:52 arniml
|
-- initial check-in
|
-- initial check-in
|
--
|
--
|
--
|
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
|
|
No newline at end of file
|
No newline at end of file
|