0

256x8 ビット RAM の VHDL コードを記述する必要があります。双方向バスを使用して読み取りと書き込みを管理しますが、回路図ファイルを使用してそれを行うことができると考えました。必要なのは RAM メモリをコンポーネントとして作成することですが、いくつかのコード 10818 エラーが発生するため、多少苦労しています。どんな助けでも大歓迎です。

RAM メモリには、1 つの data_io ポート (7 から 0 までの std_logic_vector)、1 つのアドレス ポート (7 から 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;
4

1 に答える 1