FPGA:谁有vhdl语言的IO复用ram程序啊,就是输入输出用相同端口的,求程序!

FPGA:谁有vhdl语言的IO复用ram程序啊,就是输入输出用相同端口的,求程序!,第1张

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

要根据你给外部中断的特点,还有你的FPGA和外部设备的交互的时序来决定,例如你是给外部设备一个低电平作为中断,那你可以等待外部设备把fifo中的数据取走再进行抬高电平的动作。如果是一个脉冲作为给外部设备的中断,可以把超过7000个数,再给外部设备一个中断,这样外部设备中断就变成了两个条件,5000个fifo写时钟,还有fifo超过7000个数,要不然通过fifo多存数,总解决不了问题,因为fifo总是有限的。

其实具体来说是有很多细则的,我大体给你讲讲

在quartus 2中创建新工程之后,输入程序,然后编译,编译成功之后配置引脚,再综合。然后点击下载,即进入对目标器件fpga的配置下载 *** 作,下载成功就表示编程成功,这个时候,你就可以在板子上实现你程序文件的功能。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12089702.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存