📄 iface.vhd
字号:
dp_start : std_logic;
rd_be_now : std_logic;
rd_cyc : std_logic;
wr_be_now : std_logic_vector(3 downto 0);
wr_cyc : std_logic;
bar0_mem_cyc : std_logic;
busy : std_logic_vector(3 downto 0);
master_active : std_logic;
be_gnt : std_logic;
end record;
type actpci_be_out_type is record
rd_be_rdy : std_logic;
wr_be_rdy : std_logic;
error : std_logic;
busy : std_logic;
mem_data : std_logic_vector(31 downto 0);
cs_controln : std_logic;
rd_controln : std_logic;
wr_controln : std_logic;
control_add : std_logic_vector(1 downto 0);
ext_intn : std_logic;
be_req : std_logic;
end record;
type dsu_in_type is record
dsuen : std_logic;
dsubre : std_logic;
end record;
type dsu_out_type is record
dsuact : std_logic;
ntrace : std_logic;
freezetime : std_logic;
lresp : std_logic;
dresp : std_logic;
dsuen : std_logic;
dsubre : std_logic;
end record;
type dcom_in_type is record
dsurx : std_logic;
end record;
type dcom_out_type is record
dsutx : std_logic;
end record;
type dsuif_in_type is record
dsui : dsu_in_type;
dcomi : dcom_in_type;
end record;
type dsuif_out_type is record
dsuo : dsu_out_type;
dcomo : dcom_out_type;
end record;
type dcom_uart_in_type is record
rxd : std_logic;
read : std_logic;
write : std_logic;
data : std_logic_vector(7 downto 0);
dsuen : std_logic;
end record;
type dcom_uart_out_type is record
txd : std_logic;
dready : std_logic;
tsempty : std_logic;
thempty : std_logic;
lock : std_logic;
enable : std_logic;
data : std_logic_vector(7 downto 0);
end record;
type tracebuf_in_type is record
addr : std_logic_vector(TBUFABITS downto 0);
data : std_logic_vector(127 downto 0);
enable : std_logic;
write : std_logic_vector(3 downto 0);
end record;
type tracebuf_out_type is record
data : std_logic_vector(127 downto 0);
end record;
type dsumem_in_type is record
pbufi : tracebuf_in_type;
abufi : tracebuf_in_type;
end record;
type dsumem_out_type is record
pbufo : tracebuf_out_type;
abufo : tracebuf_out_type;
end record;
type eth_in_type is record
tx_clk : std_logic;
rx_clk : std_logic;
rxd : std_logic_vector(3 downto 0);
rx_dv : std_logic;
rx_er : std_logic;
rx_col : std_logic;
rx_crs : std_logic;
mdio_i : std_logic;
end record;
type eth_out_type is record
reset : std_logic;
txd : std_logic_vector(3 downto 0);
tx_en : std_logic;
tx_er : std_logic;
mdc : std_logic;
mdio_o : std_logic;
mdio_oe : std_logic;
end record;
type clkgen_in_type is record
pllref : std_logic; -- optional reference for PLL
pllrst : std_logic; -- optional reset for PLL
pllctrl : std_logic_vector(1 downto 0); -- optional control for PLL
end record;
type clkgen_out_type is record
clklock : std_logic;
pcilock : std_logic;
end record;
-- mmu i/o
type mmuidc_data_in_type is record
data : std_logic_vector(31 downto 0);
su : std_logic;
read : std_logic;
isid : mmu_idcache;
end record;
type mmuidc_data_out_type is record
finish : std_logic;
data : std_logic_vector(31 downto 0);
cache : std_logic;
accexc : std_logic;
end record;
type mmudc_in_type is record
trans_op : std_logic;
transdata : mmuidc_data_in_type;
-- dcache extra signals
flush_op : std_logic;
diag_op : std_logic;
fsread : std_logic;
mmctrl1 : mmctrl_type1;
end record;
type mmudc_out_type is record
grant : std_logic;
transdata : mmuidc_data_out_type;
-- dcache extra signals
mmctrl2 : mmctrl_type2;
end record;
type mmuic_in_type is record
trans_op : std_logic;
transdata : mmuidc_data_in_type;
end record;
type mmuic_out_type is record
grant : std_logic;
transdata : mmuidc_data_out_type;
end record;
type mmutlbcam_in_type is record
tagin : tlbcam_tfp;
tagwrite : tlbcam_reg;
trans_op : std_logic;
flush_op : std_logic;
write_op : std_logic;
mmuen : std_logic;
mset : std_logic;
end record;
type mmutlbcami_a is array (natural range <>) of mmutlbcam_in_type;
type mmutlbcam_out_type is record
pteout : std_logic_vector(31 downto 0);
LVL : std_logic_vector(1 downto 0); -- level in pth
hit : std_logic;
ctx : std_logic_vector(M_CTX_SZ-1 downto 0); -- for diagnostic access
valid : std_logic; -- for diagnostic access
vaddr : std_logic_vector(31 downto 0); -- for diagnostic access
NEEDSYNC : std_logic;
end record;
type mmutlbcamo_a is array (natural range <>) of mmutlbcam_out_type;
--#lrue i/o
type mmulrue_in_type is record
touch : std_logic;
pos : std_logic_vector(M_ENT_MAX_LOG-1 downto 0);
clear : std_logic;
left : std_logic_vector(M_ENT_MAX_LOG-1 downto 0);
fromleft : std_logic;
right : std_logic_vector(M_ENT_MAX_LOG-1 downto 0);
fromright : std_logic;
end record;
type mmulruei_a is array (natural range <>) of mmulrue_in_type;
type mmulrue_out_type is record
pos : std_logic_vector(M_ENT_MAX_LOG-1 downto 0);
movetop : std_logic;
end record;
type mmulrueo_a is array (natural range <>) of mmulrue_out_type;
--#lru i/o
type mmulru_in_type is record
touch : std_logic;
touchmin : std_logic;
pos : std_logic_vector(M_ENT_MAX_LOG-1 downto 0);
mmctrl1 : mmctrl_type1;
end record;
type mmulru_out_type is record
pos : std_logic_vector(M_ENT_MAX_LOG-1 downto 0);
end record;
--#mmu: tw i/o
type memory_mm_in_type is record
address : std_logic_vector(31 downto 0);
data : std_logic_vector(31 downto 0);
size : std_logic_vector(1 downto 0);
burst : std_logic;
read : std_logic;
req : std_logic;
lock : std_logic;
end record;
type memory_mm_out_type is record
data : std_logic_vector(31 downto 0); -- memory data
ready : std_logic; -- cycle ready
grant : std_logic; --
retry : std_logic; --
mexc : std_logic; -- memory exception
werr : std_logic; -- memory write error
cache : std_logic; -- cacheable data
end record;
type mmutw_in_type is record
walk_op_ur : std_logic;
areq_ur : std_logic;
data : std_logic_vector(31 downto 0);
adata : std_logic_vector(31 downto 0);
aaddr : std_logic_vector(31 downto 0);
end record;
type mmutwi_a is array (natural range <>) of mmutw_in_type;
type mmutw_out_type is record
finish : std_logic;
data : std_logic_vector(31 downto 0);
addr : std_logic_vector(31 downto 0);
lvl : std_logic_vector(1 downto 0);
fault_mexc : std_logic;
fault_trans : std_logic;
fault_inv : std_logic;
fault_lvl : std_logic_vector(1 downto 0);
end record;
type mmutwo_a is array (natural range <>) of mmutw_out_type;
-- mmu tlb i/o
type mmutlb_in_type is record
flush_op : std_logic;
diag_op_ur : std_logic;
trans_op : std_logic;
transdata : mmuidc_data_in_type;
s2valid : std_logic;
annul : std_logic;
mmctrl1 : mmctrl_type1;
end record;
type mmutlbi_a is array (natural range <>) of mmutlb_in_type;
type mmutlbfault_out_type is record
fault_pro : std_logic;
fault_pri : std_logic;
fault_access : std_logic;
fault_mexc : std_logic;
fault_trans : std_logic;
fault_inv : std_logic;
fault_lvl : std_logic_vector(1 downto 0);
fault_su : std_logic;
fault_read : std_logic;
fault_isid : mmu_idcache;
fault_addr : std_logic_vector(31 downto 0);
end record;
type mmutlb_out_type is record
transdata : mmuidc_data_out_type;
fault : mmutlbfault_out_type;
nexttrans : std_logic;
s1finished : std_logic;
end record;
type mmutlbo_a is array (natural range <>) of mmutlb_out_type;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -