armsctrl.vhd
来自「用VHDL语言实现的ARM处理器的标准内核的源代码程序」· VHDL 代码 · 共 53 行
VHD
53 行
library ieee;
use ieee.std_logic_1164.all;
-- PREFIX: acpsc_xxx
package armsctrl is
constant ACPSC_R0_OP0 : std_logic_vector(31 downto 0) := (others => '0'); -- id
constant ACPSC_R0_OP1 : std_logic_vector(31 downto 0) := (others => '0'); -- cache
type acpsc_r1 is record
mmu : std_logic;
end record;
function acpsc_r1tostd (
r1 : acpsc_r1
) return std_logic_vector;
procedure acpsc_stdtor1 (
data : in std_logic_vector(31 downto 0);
r1 : inout acpsc_r1
);
type acpsc_regs is record
r1 : acpsc_r1;
r2 : std_logic_vector(31 downto 0); -- mmu_base
end record;
end armsctrl;
package body armsctrl is
constant ACPS_R1_M_C : integer := 0;
-- sysctrl register 1
function acpsc_r1tostd (
r1 : acpsc_r1
) return std_logic_vector is
variable tmp : std_logic_vector(31 downto 0);
begin
tmp := (others => '0');
tmp(ACPS_R1_M_C) := r1.mmu;
return tmp;
end;
procedure acpsc_stdtor1 (
data : in std_logic_vector(31 downto 0);
r1 : inout acpsc_r1
) is
begin
r1.mmu := data(ACPS_R1_M_C);
end;
end armsctrl;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?