Line 1... |
Line 1... |
-- $Id: pdp11.vhd 314 2010-07-09 17:38:41Z mueller $
|
-- $Id: pdp11.vhd 335 2010-10-24 22:24:23Z mueller $
|
--
|
--
|
-- Copyright 2006-2010 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
-- Copyright 2006-2010 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 17... |
Line 17... |
--
|
--
|
-- Dependencies: -
|
-- Dependencies: -
|
-- Tool versions: xst 8.1, 8.2, 9.1, 9.2, 11.4; ghdl 0.18-0.26
|
-- Tool versions: xst 8.1, 8.2, 9.1, 9.2, 11.4; ghdl 0.18-0.26
|
-- Revision History:
|
-- Revision History:
|
-- Date Rev Version Comment
|
-- Date Rev Version Comment
|
|
-- 2010-10-23 335 1.4.6 rename RRI_LAM->RB_LAM;
|
|
-- 2010-10-16 332 1.4.5 renames of pdp11_du_drv port names
|
|
-- 2010-09-18 330 1.4.4 rename (adlm)box->(oalm)unit
|
-- 2010-06-20 308 1.4.3 add c_ibrb_ibf_ def's
|
-- 2010-06-20 308 1.4.3 add c_ibrb_ibf_ def's
|
-- 2010-06-20 307 1.4.2 rename cpacc to cacc in vm_cntl_type, mmu_cntl_type
|
-- 2010-06-20 307 1.4.2 rename cpacc to cacc in vm_cntl_type, mmu_cntl_type
|
-- 2010-06-18 306 1.4.1 add racc, be to cp_addr_type; rm pdp11_ibdr_rri
|
-- 2010-06-18 306 1.4.1 add racc, be to cp_addr_type; rm pdp11_ibdr_rri
|
-- 2010-06-13 305 1.4 add rnum to cp_cntl_type, cprnum to cpustat_type;
|
-- 2010-06-13 305 1.4 add rnum to cp_cntl_type, cprnum to cpustat_type;
|
-- reassign cp command codes and rename: c_cp_func_...
|
-- reassign cp command codes and rename: c_cp_func_...
|
Line 138... |
Line 141... |
dsrc_we : slbit; -- src data register write enable
|
dsrc_we : slbit; -- src data register write enable
|
ddst_sel : slbit; -- dst data register source select
|
ddst_sel : slbit; -- dst data register source select
|
ddst_we : slbit; -- dst data register write enable
|
ddst_we : slbit; -- dst data register write enable
|
dtmp_sel : slv2; -- tmp data register source select
|
dtmp_sel : slv2; -- tmp data register source select
|
dtmp_we : slbit; -- tmp data register write enable
|
dtmp_we : slbit; -- tmp data register write enable
|
abox_asel : slv2; -- abox a port selector
|
ounit_asel : slv2; -- ounit a port selector
|
abox_azero : slbit; -- abox a port force zero
|
ounit_azero : slbit; -- ounit a port force zero
|
abox_const : slv9; -- abox b port const
|
ounit_const : slv9; -- ounit b port const
|
abox_bsel : slv2; -- abox b port selector
|
ounit_bsel : slv2; -- ounit b port selector
|
abox_opsub : slbit; -- abox operation
|
ounit_opsub : slbit; -- ounit operation
|
dbox_srcmod : slv2; -- dbox src port modifier
|
aunit_srcmod : slv2; -- aunit src port modifier
|
dbox_dstmod : slv2; -- dbox dst port modifier
|
aunit_dstmod : slv2; -- aunit dst port modifier
|
dbox_cimod : slv2; -- dbox ci port modifier
|
aunit_cimod : slv2; -- aunit ci port modifier
|
dbox_cc1op : slbit; -- dbox use cc modes (1 op instruction)
|
aunit_cc1op : slbit; -- aunit use cc modes (1 op instruction)
|
dbox_ccmode : slv3; -- dbox cc port mode
|
aunit_ccmode : slv3; -- aunit cc port mode
|
dbox_bytop : slbit; -- dbox byte operation
|
aunit_bytop : slbit; -- aunit byte operation
|
lbox_func : slv4; -- lbox function
|
lunit_func : slv4; -- lunit function
|
lbox_bytop : slbit; -- lbox byte operation
|
lunit_bytop : slbit; -- lunit byte operation
|
mbox_func : slv2; -- mbox function
|
munit_func : slv2; -- munit function
|
mbox_s_div : slbit; -- mbox s_opg_div state
|
munit_s_div : slbit; -- munit s_opg_div state
|
mbox_s_div_cn : slbit; -- mbox s_opg_div_cn state
|
munit_s_div_cn : slbit; -- munit s_opg_div_cn state
|
mbox_s_div_cr : slbit; -- mbox s_opg_div_cr state
|
munit_s_div_cr : slbit; -- munit s_opg_div_cr state
|
mbox_s_ash : slbit; -- mbox s_opg_ash state
|
munit_s_ash : slbit; -- munit s_opg_ash state
|
mbox_s_ash_cn : slbit; -- mbox s_opg_ash_cn state
|
munit_s_ash_cn : slbit; -- munit s_opg_ash_cn state
|
mbox_s_ashc : slbit; -- mbox s_opg_ashc state
|
munit_s_ashc : slbit; -- munit s_opg_ashc state
|
mbox_s_ashc_cn : slbit; -- mbox s_opg_ashc_cn state
|
munit_s_ashc_cn : slbit; -- munit s_opg_ashc_cn state
|
ireg_we : slbit; -- ireg register write enable
|
ireg_we : slbit; -- ireg register write enable
|
cres_sel : slv3; -- result bus (cres) select
|
cres_sel : slv3; -- result bus (cres) select
|
dres_sel : slv3; -- result bus (dres) select
|
dres_sel : slv3; -- result bus (dres) select
|
vmaddr_sel : slv2; -- virtual address select
|
vmaddr_sel : slv2; -- virtual address select
|
cpdout_we : slbit; -- capture dres for cpdout
|
cpdout_we : slbit; -- capture dres for cpdout
|
Line 170... |
Line 173... |
|
|
constant dpath_cntl_init : dpath_cntl_type := (
|
constant dpath_cntl_init : dpath_cntl_type := (
|
"000","000","00",'0','0','0','0', -- gpr
|
"000","000","00",'0','0','0','0', -- gpr
|
'0','0',"000", -- psr
|
'0','0',"000", -- psr
|
'0','0','0','0',"00",'0', -- dsrc,..,dtmp
|
'0','0','0','0',"00",'0', -- dsrc,..,dtmp
|
"00",'0',"000000000","00",'0', -- abox
|
"00",'0',"000000000","00",'0', -- ounit
|
"00","00","00",'0',"000",'0', -- dbox
|
"00","00","00",'0',"000",'0', -- aunit
|
"0000",'0', -- lbox
|
"0000",'0', -- lunit
|
"00",'0','0','0','0','0','0','0', -- mbox
|
"00",'0','0','0','0','0','0','0', -- munit
|
'0',"000","000","00",'0' -- rest
|
'0',"000","000","00",'0' -- rest
|
);
|
);
|
|
|
constant c_dpath_dsrc_src : slbit := '0'; -- DSRC = R(SRC)
|
constant c_dpath_dsrc_src : slbit := '0'; -- DSRC = R(SRC)
|
constant c_dpath_dsrc_res : slbit := '1'; -- DSRC = DRES
|
constant c_dpath_dsrc_res : slbit := '1'; -- DSRC = DRES
|
Line 187... |
Line 190... |
constant c_dpath_dtmp_dsrc : slv2 := "00"; -- DTMP = DSRC
|
constant c_dpath_dtmp_dsrc : slv2 := "00"; -- DTMP = DSRC
|
constant c_dpath_dtmp_psw : slv2 := "01"; -- DTMP = PSW
|
constant c_dpath_dtmp_psw : slv2 := "01"; -- DTMP = PSW
|
constant c_dpath_dtmp_dres : slv2 := "10"; -- DTMP = DRES
|
constant c_dpath_dtmp_dres : slv2 := "10"; -- DTMP = DRES
|
constant c_dpath_dtmp_drese : slv2 := "11"; -- DTMP = DRESE
|
constant c_dpath_dtmp_drese : slv2 := "11"; -- DTMP = DRESE
|
|
|
constant c_dpath_res_abox : slv3 := "000"; -- D/CRES = ABOX
|
constant c_dpath_res_ounit : slv3 := "000"; -- D/CRES = OUNIT
|
constant c_dpath_res_dbox : slv3 := "001"; -- D/CRES = DBOX
|
constant c_dpath_res_aunit : slv3 := "001"; -- D/CRES = AUNIT
|
constant c_dpath_res_lbox : slv3 := "010"; -- D/CRES = LBOX
|
constant c_dpath_res_lunit : slv3 := "010"; -- D/CRES = LUNIT
|
constant c_dpath_res_mbox : slv3 := "011"; -- D/CRES = MBOX
|
constant c_dpath_res_munit : slv3 := "011"; -- D/CRES = MUNIT
|
constant c_dpath_res_vmdout : slv3 := "100"; -- D/CRES = VMDOUT
|
constant c_dpath_res_vmdout : slv3 := "100"; -- D/CRES = VMDOUT
|
constant c_dpath_res_fpdout : slv3 := "101"; -- D/CRES = FPDOUT
|
constant c_dpath_res_fpdout : slv3 := "101"; -- D/CRES = FPDOUT
|
constant c_dpath_res_ireg : slv3 := "110"; -- D/CRES = IREG
|
constant c_dpath_res_ireg : slv3 := "110"; -- D/CRES = IREG
|
constant c_dpath_res_cpdin : slv3 := "111"; -- D/CRES = CPDIN
|
constant c_dpath_res_cpdin : slv3 := "111"; -- D/CRES = CPDIN
|
|
|
Line 227... |
Line 230... |
op_rtt : slbit; -- RTT instruction
|
op_rtt : slbit; -- RTT instruction
|
op_mov : slbit; -- MOV instruction
|
op_mov : slbit; -- MOV instruction
|
trap_vec : slv3; -- trap vector addr bits 4:2
|
trap_vec : slv3; -- trap vector addr bits 4:2
|
force_srcsp : slbit; -- force src register to be sp
|
force_srcsp : slbit; -- force src register to be sp
|
updt_dstadsrc : slbit; -- update dsrc in dsta flow
|
updt_dstadsrc : slbit; -- update dsrc in dsta flow
|
dbox_srcmod : slv2; -- dbox src port modifier
|
aunit_srcmod : slv2; -- aunit src port modifier
|
dbox_dstmod : slv2; -- dbox dst port modifier
|
aunit_dstmod : slv2; -- aunit dst port modifier
|
dbox_cimod : slv2; -- dbox ci port modifier
|
aunit_cimod : slv2; -- aunit ci port modifier
|
dbox_cc1op : slbit; -- dbox use cc modes (1 op instruction)
|
aunit_cc1op : slbit; -- aunit use cc modes (1 op instruction)
|
dbox_ccmode : slv3; -- dbox cc port mode
|
aunit_ccmode : slv3; -- aunit cc port mode
|
lbox_func : slv4; -- lbox function
|
lunit_func : slv4; -- lunit function
|
mbox_func : slv2; -- mbox function
|
munit_func : slv2; -- munit function
|
res_sel : slv3; -- result bus (cres/dres) select
|
res_sel : slv3; -- result bus (cres/dres) select
|
fork_op : slv4; -- op fork after idecode state
|
fork_op : slv4; -- op fork after idecode state
|
fork_srcr : slv2; -- src-read fork after idecode state
|
fork_srcr : slv2; -- src-read fork after idecode state
|
fork_dstr : slv2; -- dst-read fork after src read state
|
fork_dstr : slv2; -- dst-read fork after src read state
|
fork_dsta : slv2; -- dst-addr fork after idecode state
|
fork_dsta : slv2; -- dst-addr fork after idecode state
|
Line 252... |
Line 255... |
end record decode_stat_type;
|
end record decode_stat_type;
|
|
|
constant decode_stat_init : decode_stat_type := (
|
constant decode_stat_init : decode_stat_type := (
|
'0','0','0','0','0','0','0','0','0', -- is_
|
'0','0','0','0','0','0','0','0','0', -- is_
|
'0','0',"000",'0','0', -- op_, trap_, force_, updt_
|
'0','0',"000",'0','0', -- op_, trap_, force_, updt_
|
"00","00","00",'0',"000", -- dbox_
|
"00","00","00",'0',"000", -- aunit_
|
"0000","00","000", -- lbox_, mbox_, res_
|
"0000","00","000", -- lunit_, munit_, res_
|
"0000","00","00","00","0000","000", -- fork_
|
"0000","00","00","00","0000","000", -- fork_
|
'0','0','0','0','0', -- do_fork_
|
'0','0','0','0','0', -- do_fork_
|
'0' -- do_pref_
|
'0' -- do_pref_
|
);
|
);
|
|
|
Line 692... |
Line 695... |
constant c_psr_func_wcc : slv3 := "001"; -- CC mode: set/clear cc
|
constant c_psr_func_wcc : slv3 := "001"; -- CC mode: set/clear cc
|
constant c_psr_func_wint : slv3 := "010"; -- interupt mode: pmode=cmode
|
constant c_psr_func_wint : slv3 := "010"; -- interupt mode: pmode=cmode
|
constant c_psr_func_wrti : slv3 := "011"; -- rti mode: protect modes
|
constant c_psr_func_wrti : slv3 := "011"; -- rti mode: protect modes
|
constant c_psr_func_wall : slv3 := "100"; -- write all fields
|
constant c_psr_func_wall : slv3 := "100"; -- write all fields
|
|
|
component pdp11_abox is -- arithmetic unit for addresses (abox)
|
component pdp11_ounit is -- offset adder for addresses (ounit)
|
port (
|
port (
|
DSRC : in slv16; -- 'src' data for port A
|
DSRC : in slv16; -- 'src' data for port A
|
DDST : in slv16; -- 'dst' data for port A
|
DDST : in slv16; -- 'dst' data for port A
|
DTMP : in slv16; -- 'tmp' data for port A
|
DTMP : in slv16; -- 'tmp' data for port A
|
PC : in slv16; -- PC data for port A
|
PC : in slv16; -- PC data for port A
|
Line 710... |
Line 713... |
DOUT : out slv16; -- data output
|
DOUT : out slv16; -- data output
|
NZOUT : out slv2 -- NZ condition codes out
|
NZOUT : out slv2 -- NZ condition codes out
|
);
|
);
|
end component;
|
end component;
|
|
|
constant c_abox_asel_ddst : slv2 := "00"; -- A = DDST
|
constant c_ounit_asel_ddst : slv2 := "00"; -- A = DDST
|
constant c_abox_asel_dsrc : slv2 := "01"; -- A = DSRC
|
constant c_ounit_asel_dsrc : slv2 := "01"; -- A = DSRC
|
constant c_abox_asel_pc : slv2 := "10"; -- A = PC
|
constant c_ounit_asel_pc : slv2 := "10"; -- A = PC
|
constant c_abox_asel_dtmp : slv2 := "11"; -- A = DTMP
|
constant c_ounit_asel_dtmp : slv2 := "11"; -- A = DTMP
|
|
|
constant c_abox_bsel_const : slv2 := "00"; -- B = CONST
|
constant c_ounit_bsel_const : slv2 := "00"; -- B = CONST
|
constant c_abox_bsel_vmdout : slv2 := "01"; -- B = VMDOUT
|
constant c_ounit_bsel_vmdout : slv2 := "01"; -- B = VMDOUT
|
constant c_abox_bsel_ireg6 : slv2 := "10"; -- B = 2*IREG(6bit)
|
constant c_ounit_bsel_ireg6 : slv2 := "10"; -- B = 2*IREG(6bit)
|
constant c_abox_bsel_ireg8 : slv2 := "11"; -- B = 2*IREG(8bit,sign-extend)
|
constant c_ounit_bsel_ireg8 : slv2 := "11"; -- B = 2*IREG(8bit,sign-extend)
|
|
|
component pdp11_dbox is -- arithmetic unit for data (dbox)
|
component pdp11_aunit is -- arithmetic unit for data (aunit)
|
port (
|
port (
|
DSRC : in slv16; -- 'src' data in
|
DSRC : in slv16; -- 'src' data in
|
DDST : in slv16; -- 'dst' data in
|
DDST : in slv16; -- 'dst' data in
|
CI : in slbit; -- carry flag in
|
CI : in slbit; -- carry flag in
|
SRCMOD : in slv2; -- src modifier mode
|
SRCMOD : in slv2; -- src modifier mode
|
Line 736... |
Line 739... |
DOUT : out slv16; -- data output
|
DOUT : out slv16; -- data output
|
CCOUT : out slv4 -- condition codes out
|
CCOUT : out slv4 -- condition codes out
|
);
|
);
|
end component;
|
end component;
|
|
|
constant c_dbox_mod_pass : slv2 := "00"; -- pass data
|
constant c_aunit_mod_pass : slv2 := "00"; -- pass data
|
constant c_dbox_mod_inv : slv2 := "01"; -- invert data
|
constant c_aunit_mod_inv : slv2 := "01"; -- invert data
|
constant c_dbox_mod_zero : slv2 := "10"; -- set to 0
|
constant c_aunit_mod_zero : slv2 := "10"; -- set to 0
|
constant c_dbox_mod_one : slv2 := "11"; -- set to 1
|
constant c_aunit_mod_one : slv2 := "11"; -- set to 1
|
|
|
-- the c_dbox_ccmode codes follow exactly the opcode format (bit 8:6)
|
-- the c_aunit_ccmode codes follow exactly the opcode format (bit 8:6)
|
constant c_dbox_ccmode_clr : slv3 := "000"; -- do clr instruction
|
constant c_aunit_ccmode_clr : slv3 := "000"; -- do clr instruction
|
constant c_dbox_ccmode_com : slv3 := "001"; -- do com instruction
|
constant c_aunit_ccmode_com : slv3 := "001"; -- do com instruction
|
constant c_dbox_ccmode_inc : slv3 := "010"; -- do inc instruction
|
constant c_aunit_ccmode_inc : slv3 := "010"; -- do inc instruction
|
constant c_dbox_ccmode_dec : slv3 := "011"; -- do dec instruction
|
constant c_aunit_ccmode_dec : slv3 := "011"; -- do dec instruction
|
constant c_dbox_ccmode_neg : slv3 := "100"; -- do neg instruction
|
constant c_aunit_ccmode_neg : slv3 := "100"; -- do neg instruction
|
constant c_dbox_ccmode_adc : slv3 := "101"; -- do adc instruction
|
constant c_aunit_ccmode_adc : slv3 := "101"; -- do adc instruction
|
constant c_dbox_ccmode_sbc : slv3 := "110"; -- do sbc instruction
|
constant c_aunit_ccmode_sbc : slv3 := "110"; -- do sbc instruction
|
constant c_dbox_ccmode_tst : slv3 := "111"; -- do tst instruction
|
constant c_aunit_ccmode_tst : slv3 := "111"; -- do tst instruction
|
|
|
component pdp11_lbox is -- logic unit for data (lbox)
|
component pdp11_lunit is -- logic unit for data (lunit)
|
port (
|
port (
|
DSRC : in slv16; -- 'src' data in
|
DSRC : in slv16; -- 'src' data in
|
DDST : in slv16; -- 'dst' data in
|
DDST : in slv16; -- 'dst' data in
|
CCIN : in slv4; -- condition codes in
|
CCIN : in slv4; -- condition codes in
|
FUNC : in slv4; -- function
|
FUNC : in slv4; -- function
|
Line 763... |
Line 766... |
DOUT : out slv16; -- data output
|
DOUT : out slv16; -- data output
|
CCOUT : out slv4 -- condition codes out
|
CCOUT : out slv4 -- condition codes out
|
);
|
);
|
end component;
|
end component;
|
|
|
constant c_lbox_func_asr : slv4 := "0000"; -- ASR/ASRB ??? recheck coding !!
|
constant c_lunit_func_asr : slv4 := "0000"; -- ASR/ASRB ??? recheck coding !!
|
constant c_lbox_func_asl : slv4 := "0001"; -- ASL/ASLB
|
constant c_lunit_func_asl : slv4 := "0001"; -- ASL/ASLB
|
constant c_lbox_func_ror : slv4 := "0010"; -- ROR/RORB
|
constant c_lunit_func_ror : slv4 := "0010"; -- ROR/RORB
|
constant c_lbox_func_rol : slv4 := "0011"; -- ROL/ROLB
|
constant c_lunit_func_rol : slv4 := "0011"; -- ROL/ROLB
|
constant c_lbox_func_bis : slv4 := "0100"; -- BIS/BISB
|
constant c_lunit_func_bis : slv4 := "0100"; -- BIS/BISB
|
constant c_lbox_func_bic : slv4 := "0101"; -- BIC/BICB
|
constant c_lunit_func_bic : slv4 := "0101"; -- BIC/BICB
|
constant c_lbox_func_bit : slv4 := "0110"; -- BIT/BITB
|
constant c_lunit_func_bit : slv4 := "0110"; -- BIT/BITB
|
constant c_lbox_func_mov : slv4 := "0111"; -- MOV/MOVB
|
constant c_lunit_func_mov : slv4 := "0111"; -- MOV/MOVB
|
constant c_lbox_func_sxt : slv4 := "1000"; -- SXT
|
constant c_lunit_func_sxt : slv4 := "1000"; -- SXT
|
constant c_lbox_func_swap : slv4 := "1001"; -- SWAB
|
constant c_lunit_func_swap : slv4 := "1001"; -- SWAB
|
constant c_lbox_func_xor : slv4 := "1010"; -- XOR
|
constant c_lunit_func_xor : slv4 := "1010"; -- XOR
|
|
|
component pdp11_mbox is -- mul/div unit for data (mbox)
|
component pdp11_munit is -- mul/div unit for data (munit)
|
port (
|
port (
|
CLK : in slbit; -- clock
|
CLK : in slbit; -- clock
|
DSRC : in slv16; -- 'src' data in
|
DSRC : in slv16; -- 'src' data in
|
DDST : in slv16; -- 'dst' data in
|
DDST : in slv16; -- 'dst' data in
|
DTMP : in slv16; -- 'tmp' data in
|
DTMP : in slv16; -- 'tmp' data in
|
Line 801... |
Line 804... |
DOUTE : out slv16; -- data output extra
|
DOUTE : out slv16; -- data output extra
|
CCOUT : out slv4 -- condition codes out
|
CCOUT : out slv4 -- condition codes out
|
);
|
);
|
end component;
|
end component;
|
|
|
constant c_mbox_func_mul : slv2 := "00"; -- MUL
|
constant c_munit_func_mul : slv2 := "00"; -- MUL
|
constant c_mbox_func_div : slv2 := "01"; -- DIV
|
constant c_munit_func_div : slv2 := "01"; -- DIV
|
constant c_mbox_func_ash : slv2 := "10"; -- ASH
|
constant c_munit_func_ash : slv2 := "10"; -- ASH
|
constant c_mbox_func_ashc : slv2 := "11"; -- ASHC
|
constant c_munit_func_ashc : slv2 := "11"; -- ASHC
|
|
|
component pdp11_mmu_sadr is -- mmu SAR/SDR register set
|
component pdp11_mmu_sadr is -- mmu SAR/SDR register set
|
port (
|
port (
|
CLK : in slbit; -- clock
|
CLK : in slbit; -- clock
|
MODE : in slv2; -- mode
|
MODE : in slv2; -- mode
|
Line 1044... |
Line 1047... |
ROW1 : in slv16; -- led row 1 (16 leds)
|
ROW1 : in slv16; -- led row 1 (16 leds)
|
ROW2 : in slv16; -- led row 2 (16 leds)
|
ROW2 : in slv16; -- led row 2 (16 leds)
|
ROW3 : in slv10; -- led row 3 (10 leds, bottom)
|
ROW3 : in slv10; -- led row 3 (10 leds, bottom)
|
SWOPT : out slv8; -- option pattern from du
|
SWOPT : out slv8; -- option pattern from du
|
SWOPT_RDY : out slbit; -- marks update of swopt
|
SWOPT_RDY : out slbit; -- marks update of swopt
|
DU_CLK : out slbit; -- DU: clk
|
DU_SCLK : out slbit; -- DU: sclk
|
DU_FRAME : out slbit; -- DU: frame
|
DU_SS_N : out slbit; -- DU: ss_n
|
DU_MOSI : out slbit; -- DU: mosi (master out, slave in)
|
DU_MOSI : out slbit; -- DU: mosi (master out, slave in)
|
DU_MISO : in slbit -- DU: miso (master in, slave out)
|
DU_MISO : in slbit -- DU: miso (master in, slave out)
|
);
|
);
|
end component;
|
end component;
|
|
|
Line 1072... |
Line 1075... |
CLK : in slbit; -- clock
|
CLK : in slbit; -- clock
|
RESET : in slbit; -- reset
|
RESET : in slbit; -- reset
|
RB_MREQ : in rb_mreq_type; -- rbus: request
|
RB_MREQ : in rb_mreq_type; -- rbus: request
|
RB_SRES : out rb_sres_type; -- rbus: response
|
RB_SRES : out rb_sres_type; -- rbus: response
|
RB_STAT : out slv3; -- rbus: status flags
|
RB_STAT : out slv3; -- rbus: status flags
|
RRI_LAM : out slbit; -- remote attention
|
RB_LAM : out slbit; -- remote attention
|
CPU_RESET : out slbit; -- cpu master reset
|
CPU_RESET : out slbit; -- cpu master reset
|
CP_CNTL : out cp_cntl_type; -- console control port
|
CP_CNTL : out cp_cntl_type; -- console control port
|
CP_ADDR : out cp_addr_type; -- console address port
|
CP_ADDR : out cp_addr_type; -- console address port
|
CP_DIN : out slv16; -- console data in
|
CP_DIN : out slv16; -- console data in
|
CP_STAT : in cp_stat_type; -- console status port
|
CP_STAT : in cp_stat_type; -- console status port
|