存储器模块的VHDL设计 典型的存储器模块有 寻址存储器: ROM RAN 顺序存储器: FIFO Stack(LIFO)
典型的存储器模块有: 寻址存储器:ROM RAM 顺序存储器:FIFO Stack (LIFO) 存储器模块的VHDL设计
寻址存储器的VHDL设计 RoM和RAM属于通用大规模器件,一般不 需要自行设计;但是在数字系统中,有时也需 要设计一些小型的存储器件,用于特定的用 途:例如临时存放数据,构成查表运算等。 些类器件的特点为地址与存储内容直接对应 设计时将输入地址作为给出输出内容的条件 采用条件赋值方式进行设计
ROM和RAM属于通用大规模器件,一般不 需要自行设计;但是在数字系统中,有时也需 要设计一些小型的存储器件,用于特定的用 途:l例如临时存放数据,构成查表运算等。 此类器件的特点为地址与存储内容直接对应, 设计时将输入地址作为给出输出内容的条件, 采用条件赋值方式进行设计。 寻址存储器的VHDL设计
寻址存储器设计:16X8位RAM 设计思想 将每个8位数组作为一个字(Word); 总共存储16个字; 将ram作为由16个字构成的数组,以地 址为下标; 通过读写控制模式实现对特定地址上字 的读出或写入
设计思想: 将每个8位数组作为一个字(word); 总共存储16个字; 将ram作为由16个字构成的数组,以地 址为下标; 通过读写控制模式实现对特定地址上字 的读出或写入; 寻址存储器设计: 16x8位RAM
寻址存储器设计:16X8位RAM library ieee use ieee std logic 1164. all use ieeestd logic unsigned. all entity kram is port (clk, wr, cs: in std logic d: inout std logic vector(7 downto 0) adr: in std logic vector (3 downto O) end kram:
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity kram is port ( clk,wr,cs: in std_logic; d: inout std_logic_vector(7 downto 0); adr: in std_logic_vector(3 downto 0)); end kram; 寻址存储器设计: 16x8位RAM
寻址存储器设计:16X8位RAM architecture beh of kram is subtype word is std logic vector (7 downto 0) type memory is array(0 to 15) of word; signal adr in: integer 0 to 15; SIgnal sram: memory begin adr in<=conv integer (adr); 将地址转换为数组下标 process(clk) begin
architecture beh of kram is subtype word is std_logic_vector(7 downto 0); type memory is array (0 to 15) of word; signal adr_in:integer range 0 to 15; signal sram:memory; begin adr_in<=conv_integer (adr); --将地址转换为数组下标 process(clk) begin 寻址存储器设计: 16x8位RAM