在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2383|回复: 4

DSP与FPGA接口问题?

[复制链接]
发表于 2004-6-30 11:25:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
[这个贴子最后由willing在 2004/06/30 11:30am 第 1 次编辑]

DSP通过WR 、RD和CS、地址总线、数据总线与FPGA进行接口,现在通过DSP读写FPGA的寄存器,有问题,请高手指点!
程序如下:
DSP程序:
ptr = SRAM_START;
Write_FPGA(SRAM_START,0x1);
ctrl_reg=Read_FPGA(ptr);
if (ctrl_reg==0x1)
printf("FPGA R/W Successful!\n");
else
printf("FPGA R/W failure!\n");
FPGA程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY DSP_Interface Is
port(
sys_clk       : in    std_logic;
--Signal from ADSP BF532
addr       : in     std_logic_vector(4  downto 0);
data   : inout  std_logic_vector(15 downto 0);
cs       : in     std_logic;
rd         : in     std_logic;
wr         : in     std_logic
);
--Register Address Setting
CONSTANT CTRL_WORD_ADDR    : std_logic_vector(4 downto 0) := "00000";    --Control word address
End DSP_Interface;
Architecture bhv of DSP_Interface Is
signal reg      : std_logic_vector(15 downto 0);
begin
process(wr)
begin
if wr'event and wr='1' then                --posedge
if cs='0' then
if (addr=CTRL_WORD_ADDR) then
reg<=data;
end if;
end if;
end if;
end process;
process(rd)
begin
if rd'event and rd='1' then
if cs='0' then
if (addr=CTRL_WORD_ADDR) then
data<=reg;
end if;
end if;
end if;
end process;

End  bhv;
发表于 2004-6-30 12:28:30 | 显示全部楼层

DSP与FPGA接口问题?

仔细仿真一下VHDL代码
另外,用逻辑分析仪看一下这几个信号
发表于 2004-6-30 14:05:11 | 显示全部楼层

DSP与FPGA接口问题?

data什么时候是高阻态呀
 楼主| 发表于 2004-7-1 08:55:04 | 显示全部楼层

DSP与FPGA接口问题?

你觉得应该怎么设置data的高阻态啊!?
发表于 2004-7-22 10:08:06 | 显示全部楼层

DSP与FPGA接口问题?

  当没有进行读操作时,Data 设成高阻态就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 00:37 , Processed in 0.028005 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表