设计RISC处理器的作业。我有这样的 16 位电脑
signal pc_din, PC, pc_rel, pc_dir, pc_inc : std_logic_vector(15 downto 0); -- pc datapath
pc_inc <= pc + 1;
pc_dir <= pc(15 downto 13) & ADD;
pc_rel <= pc_inc + ext(15 downto 0);
用于 PC 源的多路复用器是
with PCSrc select
pc_din <= A when from_A,
pc_rel when from_pcrel,
pc_dir when from_pcdir,
pc_inc when from_pcinc,
(others=>'-') when others;
我有 LPM 为指令存储器生成 16 x 256 单端口 ROM
component mem
PORT(
address : IN STD_LOGIC_VECTOR (7 DOWNTO 0);
clock : IN STD_LOGIC ;
q : OUT STD_LOGIC_VECTOR (15 DOWNTO 0)
);
end component;
PC寄存器端口映射为
pc_reg: reg Port map (clk=>clk, rst=>rst, D=>pc_din, Q=>PC, we=>ldPC);
现在的问题是我如何端口映射内存组件,因为 pc 是 16 位,地址是 8 位
rom: mem port map(address=>???, clock=>clk, q=>instr_din);