FPGA:谁有vhdl语言的I/O复用ram程序啊,就是输入输出用相同端口的,求程序!
答案:1 悬赏:10 手机版
解决时间 2021-03-26 12:24
- 提问者网友:伴风望海
- 2021-03-26 02:43
FPGA:谁有vhdl语言的I/O复用ram程序啊,就是输入输出用相同端口的,求程序!
最佳答案
- 五星知识达人网友:上分大魔王
- 2021-03-26 03:40
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
USE IEEE.std_logic_unsigned.ALL;
ENTITY sram IS
GENERIC(addr_length:Positive:=5;
bit_wide:Positive:=8);
PORT(wr,rd:IN std_logic;
address:IN std_logic_vector(addr_length-1 DOWNTO 0);
data:INOUT std_logic_vector(bit_wide-1 DOWNTO 0));
END sram;
ARCHITECTURE behavioral OF sram IS
TYPE memory IS ARRAY(addr_length-1 DOWNTO 0) OF std_logic_vector(bit_wide-1 DOWNTO 0);
BEGIN
PROCESS(wr,rd,address,data)
VARIABLE mem:memory;
BEGIN
IF wr='0' AND rd='1' THEN
data <= (OTHERS => 'Z');
mem(conv_integer(address)) := data;
ELSIF wr='1' AND rd='0' THEN
data <= mem(conv_integer(address));
END IF;
END PROCESS;
END behavioral;
USE IEEE.std_logic_1164.ALL;
USE IEEE.std_logic_unsigned.ALL;
ENTITY sram IS
GENERIC(addr_length:Positive:=5;
bit_wide:Positive:=8);
PORT(wr,rd:IN std_logic;
address:IN std_logic_vector(addr_length-1 DOWNTO 0);
data:INOUT std_logic_vector(bit_wide-1 DOWNTO 0));
END sram;
ARCHITECTURE behavioral OF sram IS
TYPE memory IS ARRAY(addr_length-1 DOWNTO 0) OF std_logic_vector(bit_wide-1 DOWNTO 0);
BEGIN
PROCESS(wr,rd,address,data)
VARIABLE mem:memory;
BEGIN
IF wr='0' AND rd='1' THEN
data <= (OTHERS => 'Z');
mem(conv_integer(address)) := data;
ELSIF wr='1' AND rd='0' THEN
data <= mem(conv_integer(address));
END IF;
END PROCESS;
END behavioral;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯