完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我已经写了一个ip-core,并使用AXI-LITE接口将它集成到我的微型设计中。
实体AkronIpCore_v1_0是 通用( - 用户在此处添加参数 - 用户参数结束 - 请勿修改此行以外的参数 - Axi从总线接口S00_AXIS的参数 C_S00_AXIS_TDATA_WIDTH:整数:= 32; - Axi从总线接口S01_AXIS的参数 C_S01_AXIS_TDATA_WIDTH:整数:= 32; - Axi主总线接口M00_AXIS的参数 C_M00_AXIS_TDATA_WIDTH:整数:= 32; C_M00_AXIS_START_COUNT:整数:= 32 ); 港口 ( - 用户在此处添加端口 - 用户端口结束 - 请勿修改此行之外的端口 - Axi从设备总线接口S00_AXIS的端口 s00_axis_aclk:在std_logic中; s00_axis_aresetn:在std_logic中; s00_axis_tready:out std_logic; s00_axis_tdata:在std_logic_vector中(C_S00_AXIS_TDATA_WIDTH-1 downto 0); s00_axis_tvalid:在std_logic中; - Axi从设备总线接口S01_AXIS的端口 s01_axis_aclk:在std_logic中; s01_axis_aresetn:在std_logic中; s01_axis_tready:out std_logic; s01_axis_tdata:在std_logic_vector中(C_S01_AXIS_TDATA_WIDTH-1 downto 0); s01_axis_tvalid:在std_logic中; - Axi主总线接口M00_AXIS的端口 m00_axis_aclk:在std_logic中; m00_axis_aresetn:在std_logic中; m00_axis_tvalid:out std_logic; m00_axis_tdata:out std_logic_vector(C_M00_AXIS_TDATA_WIDTH-1 downto 0); m00_axis_tready:在std_logic中 ); 结束AkronIpCore_v1_0; 架构arch_imp的AkronIpCore_v1_0是 组件Akron_IPCore 端口(掩码:STD_LOGIC_VECTOR(31 downto 0); 资料来源:STD_LOGIC_VECTOR(31 downto 0); clk:在STD_LOGIC中; 开始:在STD_LOGIC; rst:在STD_LOGIC中; 完成:输出STD_LOGIC; 停止:输出std_logic; 目标:输出STD_LOGIC_VECTOR(31 downto 0)); 最终组件; signal SourceReady,MaskReady:std_logic; 信号rst,完成,停止:std_logic; 信号结果:std_logic_vector(31 downto 0); 开始 RST 我正在使用putfsl和getfsl与它进行通信。 它工作正常但我有一个时间问题我的意思。 事实上,如果我发送一些特定的输入,我知道我的结果应该在5次迭代中准备就绪。 examplewhilte(t!=){putfsl(A,0); putfsl(B,1); getfsl(T,0) 我++;}打印(ⅰ); 我的输入t应该在5个循环后为1但在这种情况下它在6个循环后变为1。有人可以帮助我吗? |
|
相关推荐
4个回答
|
|
Solvedi改变了我的ipCore中的一些东西。
我注意到,如果你把数据放在总线上,同时你断言了 m00_axis_tvalid getfsl存在同步问题。 所以我已经比数据晚一个时钟周期断言m000_axis_tvalid。 在原帖中查看解决方案 |
|
|
|
我试图以这种方式在第二个putfsl和getfsl之间放置一个MB_Sleep(1)istruction:
whilte(t!= 1){ putfsl(A,0); putfsl(B,1); MB_Sleep(1); getfsl(T,0) 我++; } 通过这种方式,结果在5次迭代后就绪。 所以有人可以解释我为什么? |
|
|
|
@marefanoyou需要考虑ip响应需要多长时间以及数据从IP到MB的MB总线周期。
如果您可以在RTL中模拟MB + IP,您应该能够确切地看到总线的行为方式。 - 如果提供的信息有用,请将答案标记为“接受为解决方案”。给予您认为有用且回复的帖子。 |
|
|
|
Solvedi改变了我的ipCore中的一些东西。
我注意到,如果你把数据放在总线上,同时你断言了 m00_axis_tvalid getfsl存在同步问题。 所以我已经比数据晚一个时钟周期断言m000_axis_tvalid。 |
|
|
|
只有小组成员才能发言,加入小组>>
2429 浏览 7 评论
2831 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2298 浏览 9 评论
3378 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2468 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1369浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
596浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
460浏览 1评论
2013浏览 0评论
738浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 07:16 , Processed in 1.282816 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号