Line 1... |
Line 1... |
-- $Id: tb_pdp11core.vhd 427 2011-11-19 21:04:11Z mueller $
|
-- $Id: tb_pdp11core.vhd 444 2011-12-25 10:04:58Z mueller $
|
--
|
--
|
-- Copyright 2006-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
-- Copyright 2006-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
--
|
--
|
-- This program is free software; you may redistribute and/or modify it under
|
-- This program is free software; you may redistribute and/or modify it under
|
-- the terms of the GNU General Public License as published by the Free
|
-- the terms of the GNU General Public License as published by the Free
|
Line 44... |
Line 44... |
-- 2007-10-07 88 _ssim 0.26 8.1 I24 xc3s1000 c:fail -> blog_webpack
|
-- 2007-10-07 88 _ssim 0.26 8.1 I24 xc3s1000 c:fail -> blog_webpack
|
-- 2007-10-07 88 - 0.26 - - c:ok
|
-- 2007-10-07 88 - 0.26 - - c:ok
|
--
|
--
|
-- Revision History:
|
-- Revision History:
|
-- Date Rev Version Comment
|
-- Date Rev Version Comment
|
|
-- 2011-12-23 444 1.4 use new simclk/simclkcnt
|
-- 2011-11-18 427 1.3.2 now numeric_std clean
|
-- 2011-11-18 427 1.3.2 now numeric_std clean
|
-- 2011-01-02 352 1.3.1 rename .cpmon->.rlmon
|
-- 2011-01-02 352 1.3.1 rename .cpmon->.rlmon
|
-- 2010-12-30 351 1.3 rename tb_pdp11_core -> tb_pdp11core
|
-- 2010-12-30 351 1.3 rename tb_pdp11_core -> tb_pdp11core
|
-- 2010-06-20 308 1.2.2 add wibrb, ribr, wibr commands for ibr accesses
|
-- 2010-06-20 308 1.2.2 add wibrb, ribr, wibr commands for ibr accesses
|
-- 2010-06-20 307 1.2.1 add CP_ADDR_racc, CP_ADDR_be to tbd interface
|
-- 2010-06-20 307 1.2.1 add CP_ADDR_racc, CP_ADDR_be to tbd interface
|
Line 114... |
Line 115... |
signal CP_STAT_cpuhalt : slbit := '0';
|
signal CP_STAT_cpuhalt : slbit := '0';
|
signal CP_STAT_cpurust : slv4 := (others=>'0');
|
signal CP_STAT_cpurust : slv4 := (others=>'0');
|
signal CP_DOUT : slv16 := (others=>'0');
|
signal CP_DOUT : slv16 := (others=>'0');
|
|
|
signal CLK_STOP : slbit := '0';
|
signal CLK_STOP : slbit := '0';
|
|
signal CLK_CYCLE : integer := 0;
|
|
|
signal R_CHKDAT : slv16 := (others=>'0');
|
signal R_CHKDAT : slv16 := (others=>'0');
|
signal R_CHKMSK : slv16 := (others=>'0');
|
signal R_CHKMSK : slv16 := (others=>'0');
|
signal R_CHKREQ : slbit := '0';
|
signal R_CHKREQ : slbit := '0';
|
|
|
Line 128... |
Line 130... |
signal R_CP_STAT : cp_stat_type := cp_stat_init;
|
signal R_CP_STAT : cp_stat_type := cp_stat_init;
|
signal R_CP_DOUT : slv16 := (others=>'0');
|
signal R_CP_DOUT : slv16 := (others=>'0');
|
|
|
begin
|
begin
|
|
|
SYSCLK : simclk
|
CLKGEN : simclk
|
generic map (
|
generic map (
|
PERIOD => clock_period,
|
PERIOD => clock_period,
|
OFFSET => clock_offset)
|
OFFSET => clock_offset)
|
port map (
|
port map (
|
CLK => CLK,
|
CLK => CLK,
|
CLK_CYCLE => SB_CLKCYCLE,
|
|
CLK_STOP => CLK_STOP
|
CLK_STOP => CLK_STOP
|
);
|
);
|
|
|
|
CLKCNT : simclkcnt port map (CLK => CLK, CLK_CYCLE => CLK_CYCLE);
|
|
|
UUT: entity work.tbd_pdp11core
|
UUT: entity work.tbd_pdp11core
|
port map (
|
port map (
|
CLK => CLK,
|
CLK => CLK,
|
RESET => RESET,
|
RESET => RESET,
|
CP_CNTL_req => CP_CNTL_req,
|
CP_CNTL_req => CP_CNTL_req,
|
Line 624... |
Line 627... |
end loop;
|
end loop;
|
|
|
wait for 4*clock_period;
|
wait for 4*clock_period;
|
CLK_STOP <= '1';
|
CLK_STOP <= '1';
|
|
|
writetimestamp(oline, SB_CLKCYCLE, ": DONE ");
|
writetimestamp(oline, CLK_CYCLE, ": DONE ");
|
writeline(output, oline);
|
writeline(output, oline);
|
|
|
wait; -- suspend proc_stim forever
|
wait; -- suspend proc_stim forever
|
-- clock is stopped, sim will end
|
-- clock is stopped, sim will end
|
|
|