我需要为 256x8 位 RAM 编写 VHDL 代码。我将使用双向总线来管理读写,但我想我可以使用原理图文件来做到这一点。我需要的是创建 RAM 内存作为一个组件,但我有点挣扎,因为我得到了几个代码 10818 错误。任何帮助,将不胜感激。
RAM内存应该有一个data_io端口(7 downto 0 std_logic_vector),一个地址端口(7 downto 0 std_logic_vector),以及oe,we和clk端口(我猜都是std_logic?)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY MyRAM IS
PORT(CLOCK,WE,OE:IN STD_LOGIC;
ADDR:IN STD_LOGIC_VECTOR (7 DOWNTO 0);
D_IO: INOUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END ENTITY;
ARCHITECTURE RTL OF MyRAM IS
TYPE RAM_12 IS ARRAY (0 TO 255)OF STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNAL RAM_PTR:RAM_12;
BEGIN
PROCESS(CLOCK)
BEGIN
IF RISING_EDGE(CLOCK) THEN
RAM_PTR(CONV_INTEGER(ADDR))<=D_IO;
ELSE
D_IO<=RAM_PTR(CONV_INTEGER(ADDR));
END IF;
END PROCESS;
END RTL;