📄 iface.vhd
字号:
ready : std_logic; icc : std_logic_vector(3 downto 0); -- ICC result : std_logic_vector(31 downto 0); -- div resultend record;type mul_in_type is record op1 : std_logic_vector(32 downto 0); -- operand 1 op2 : std_logic_vector(32 downto 0); -- operand 2 flush : std_logic; signed : std_logic; start : std_logic; mac : std_logic; y : std_logic_vector(7 downto 0); -- Y (MSB MAC register) asr18 : std_logic_vector(31 downto 0); -- LSB MAC registerend record;type mul_out_type is record ready : std_logic; icc : std_logic_vector(3 downto 0); -- ICC result : std_logic_vector(63 downto 0); -- mul resultend record;type ahb_dma_in_type is record address : std_logic_vector(31 downto 0); wdata : std_logic_vector(31 downto 0); start : std_logic; burst : std_logic; write : std_logic; size : std_logic_vector(1 downto 0);end record;type ahb_dma_out_type is record start : std_logic; active : std_logic; ready : std_logic; retry : std_logic; mexc : std_logic; haddr : std_logic_vector(9 downto 0); rdata : std_logic_vector(31 downto 0);end record;type actpci_be_in_type is record mem_ad_int : std_logic_vector(31 downto 0); mem_data : std_logic_vector(31 downto 0); dp_done : std_logic; 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 PLLend record;type clkgen_out_type is record clklock : std_logic; pcilock : std_logic;end record;-- mmu i/otype 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/otype 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/otype 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/otype 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 dataend 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/otype 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 + -