📄 iface.vhd
字号:
type ddram_in_type is record address : std_logic_vector((DOFFSET_BITS + DLINE_BITS -1) downto 0); data : std_logic_vector(31 downto 0); enable : std_logic; write : std_logic;end record;type ddram_out_type is record data : std_logic_vector(31 downto 0);end record;type icram_in_type is record itramin : itram_in_type; idramin : idram_in_type;end record;type icram_out_type is record itramout : itram_out_type; idramout : idram_out_type;end record;type dcram_in_type is record dtramin : dtram_in_type; ddramin : ddram_in_type;end record;type dcram_out_type is record dtramout : dtram_out_type; ddramout : ddram_out_type;end record;type cram_in_type is record icramin : icram_in_type; dcramin : dcram_in_type;end record;type cram_out_type is record icramout : icram_out_type; dcramout : dcram_out_type;end record;type irq_in_type is record irq : std_logic_vector(15 downto 1); intack : std_logic; irl : std_logic_vector(3 downto 0);end record;type irq_out_type is record irl : std_logic_vector(3 downto 0);end record;type timers_out_type is record irq : std_logic_vector(1 downto 0); tick : std_logic; wdog : std_logic;end record;type uart_in_type is record rxd : std_logic; ctsn : std_logic; scaler : std_logic_vector(7 downto 0);end record;type uart_out_type is record rxen : std_logic; txen : std_logic; flow : std_logic; irq : std_logic; rtsn : std_logic; txd : std_logic;end record;type clkgen_in_type is record iholdn : std_logic; -- Instruction hold imdsn : std_logic; -- Instruction memory data strobe dholdn : std_logic; -- Data hold dmdsn : std_logic; -- Data memory data strobe fpuholdn : std_logic; -- FPU/CP busyend record;type clkgen_out_type is record clk : clk_type; -- Common clock iuclk : clk_type; -- Processor clock dclk : clk_type; -- Data latch clock iclk : clk_type; -- Instruction latch clock rfclk : clk_type; -- register file clock pciclk : clk_type; -- PCI config-block clock holdn : std_logic; -- Instruction latch clockend record;-- iu pipeline control type (defined here to be visible to debug and coprocessor)type pipeline_control_type is record inst : std_logic_vector(31 downto 0); -- instruction word pc : std_logic_vector(31 downto PCLOW); -- program counter annul : std_logic; -- instruction annul cnt : std_logic_vector(1 downto 0); -- cycle number (multi-cycle inst) ld : std_logic; -- load cycle pv : std_logic; -- PC valid rett : std_logic; -- RETT indicator trap : std_logic; -- trap pending flag tt : std_logic_vector(5 downto 0); -- trap type rd : std_logic_vector(RABITS-1 downto 0); -- destination register addressend record; -- Stucture for FPU/CP controltype cp_in_type is record flush : std_logic; -- pipeline flush exack : std_logic; -- CP exception acknowledge dannul : std_logic; -- decode stage annul dtrap : std_logic; -- decode stage trap dcnt : std_logic_vector(1 downto 0); -- decode stage cycle counter dinst : std_logic_vector(31 downto 0); -- decode stage instruction ex : pipeline_control_type; -- iu pipeline ctrl (ex) me : pipeline_control_type; -- iu pipeline ctrl (me) wr : pipeline_control_type; -- iu pipeline ctrl (wr) lddata : std_logic_vector(31 downto 0); -- load dataend record;type cp_out_type is record data : std_logic_vector(31 downto 0); -- store data exc : std_logic; -- CP exception cc : std_logic_vector(1 downto 0); -- CP condition codes ccv : std_logic; -- CP condition codes valid holdn : std_logic; -- CP pipeline hold ldlock : std_logic; -- CP load/store interlockend record;-- iu debug porttype iu_debug_type is record clk : std_logic; rst : std_logic; holdn : std_logic; de : pipeline_control_type; ex : pipeline_control_type; me : pipeline_control_type; wr : pipeline_control_type; write_reg : std_logic; result : std_logic_vector(31 downto 0); trap : std_logic; tt : std_logic_vector(7 downto 0);end record;type iu_in_type is record irl : std_logic_vector(3 downto 0); -- interrupt request levelend record;type iu_out_type is record error : std_logic; intack : std_logic; irqvec : std_logic_vector(3 downto 0); ipend : std_logic;-- pragma translate_off debug : iu_debug_type;-- pragma translate_onend record;-- Meiko FPU interfacetype fpu_in_type is record ss_clock : std_logic; FpInst : std_logic_vector(9 downto 0); FpOp : std_logic; FpLd : std_logic; Reset : std_logic; fprf_dout1 : std_logic_vector(63 downto 0); fprf_dout2 : std_logic_vector(63 downto 0); RoundingMode : std_logic_vector(1 downto 0); ss_scan_mode : std_logic; fp_ctl_scan_in : std_logic; fpuholdn : std_logic;end record;type fpu_out_type is record FpBusy : std_logic; FracResult : std_logic_vector(54 downto 3); ExpResult : std_logic_vector(10 downto 0); SignResult : std_logic; SNnotDB : std_logic; Excep : std_logic_vector(5 downto 0); ConditionCodes : std_logic_vector(1 downto 0); fp_ctl_scan_out : std_logic;end record;type cp_unit_in_type is record -- coprocessor execution unit input op1 : std_logic_vector (63 downto 0); -- operand 1 op2 : std_logic_vector (63 downto 0); -- operand 2 opcode : std_logic_vector (9 downto 0); -- opcode start : std_logic; -- start load : std_logic; -- load operands flush : std_logic; -- cancel operationend record;type cp_unit_out_type is record -- coprocessor execution unit output res : std_logic_vector (63 downto 0); -- result cc : std_logic_vector (1 downto 0); -- condition codes exc : std_logic_vector (5 downto 0); -- exception busy : std_logic; -- eu busy end record;type rst_type is record syncrst : std_logic; -- synchronous reset rawrst : std_logic; -- asynchronous resetend record;-- pci_[in|out]_type groups all EXTERNAL pci ports in unidirectional form-- as well as the required enable signals for the padstype pci_in_type is record pci_rst_in_n : std_logic; pci_clk_in : std_logic; pci_gnt_in_n : std_logic; pci_idsel_in : std_logic; pci_adin : std_logic_vector(31 downto 0); pci_cbein_n : std_logic_vector(3 downto 0); pci_frame_in_n : std_logic; pci_irdy_in_n : std_logic; pci_trdy_in_n : std_logic; pci_devsel_in_n : std_logic; pci_stop_in_n : std_logic; pci_lock_in_n : std_logic; pci_perr_in_n : std_logic; pci_serr_in_n : std_logic; pci_par_in : std_logic; pci_host : std_logic;end record;type pci_out_type is record pci_aden_n : std_logic_vector(31 downto 0); pci_cbe0_en_n : std_logic; pci_cbe1_en_n : std_logic; pci_cbe2_en_n : std_logic; pci_cbe3_en_n : std_logic; pci_frame_en_n : std_logic; pci_irdy_en_n : std_logic; pci_ctrl_en_n : std_logic; pci_perr_en_n : std_logic; pci_par_en_n : std_logic; pci_req_en_n : std_logic; pci_req_out_n : std_logic; pci_adout : std_logic_vector(31 downto 0); pci_cbeout_n : std_logic_vector(3 downto 0); pci_frame_out_n : std_logic; pci_irdy_out_n : std_logic; pci_trdy_out_n : std_logic; pci_devsel_out_n : std_logic; pci_stop_out_n : std_logic; pci_perr_out_n : std_logic; pci_serr_out_n : std_logic; pci_par_out : std_logic;end record;end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -