完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
亲爱的先生,
我是EDK的新手,我想在ISim(在ise设计中包含elf文件)中使用以下C代码和VHDL测试台来模拟MicroBlaze项目,但我总是得到结果零,所以请帮助解决它? 我附上了我的入门项目的截图 =================== SDK C程序============================ =========== ##包括包括 int main(void){XGpio led,button; int状态; Status = XGpio_Initialize(& led,XPAR_LED_DEVICE_ID); if(Status!= XST_SUCCESS){return XST_FAILURE; } XGpio_SetDataDirection(安培; LED,1,0); XGpio_Initialize(& button,XPAR_BUTTON_DEVICE_ID); XGpio_SetDataDirection(& button,1,1); 而(1){ if(XGpio_DiscreteRead(& button,1)== 1){ XGpio_DiscreteWrite(& led,1,255);} else { XGpio_DiscreteWrite(& led,1,100);} 返回XST_SUCCESS; } ===================== VHDL Testbench ============================= ========= -------------------------------------------------- ------------------------------ LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY tb ISEND tb; tb IS的体系结构行为 - 被测单元的组件声明(UUT)COMPONENT ssmb_top PORT(FPGA_0_clk_1_sys_clk_pin:IN std_logic; fpga_0_rst_1_sys_rst_pin:IN std_logic; button_GPIO_IO_I_pin:IN std_logic; led_GPIO_IO_O_pin:OUT std_logic_vector(0 to 7)); 结束组成部分; - 输入信号fpga_0_clk_1_sys_clk_pin:std_logic:='0'; signal fpga_0_rst_1_sys_rst_pin:std_logic:='0'; signal button_GPIO_IO_I_pin:std_logic:='0'; - 输出信号led_GPIO_IO_O_pin:std_logic_vector(0到7); - 端口列表中未检测到时钟。 替换为 - 适当的端口名称BEGIN - 实例化被测单元(UUT)uut:ssmb_top PORT MAP(fpga_0_clk_1_sys_clk_pin => fpga_0_clk_1_sys_clk_pin,fpga_0_rst_1_sys_rst_pin => fpga_0_rst_1_sys_rst_pin,button_GPIO_IO_I_pin => button_GPIO_IO_I_pin,led_GPIO_IO_O_pin => led_GPIO_IO_O_pin); fpga_0_clk_1_sys_clk_pin fpga_0_rst_1_sys_rst_pin button_GPIO_IO_I_pin |
|
相关推荐
7个回答
|
|
为什么频繁地断言和取消激活系统?
将系统复位(有效高或低,取决于您的系统配置)断言一段合适的时间是正常的,例如, 1000 ns然后取消激活它以让系统运行。 ----------“我们必须学会做的事情,我们从实践中学习。” - 亚里士多德 在原帖中查看解决方案 |
|
|
|
为什么频繁地断言和取消激活系统?
将系统复位(有效高或低,取决于您的系统配置)断言一段合适的时间是正常的,例如, 1000 ns然后取消激活它以让系统运行。 ----------“我们必须学会做的事情,我们从实践中学习。” - 亚里士多德 |
|
|
|
谢谢,Microblaze的ISE模拟工作正在进行中。
但是如果我在模拟完整的项目之后对SDK进行了任何更改,那么更改没有在Isim中反映出它的结果,在程序中更改后的SDK中我保存了项目并重新生成链接器脚本但是ISIM没有显示新的结果所以请帮忙。 再次非常感谢,因为从SDK到ISIM作为MICROBLAZE的初学者是非常好的感觉 |
|
|
|
我不太了解这个问题,因为您发布的两个模拟波形非常不同,清楚地显示了您所做的一些更改。
我可以看到您将ELF文件作为ISE中模拟项目的源,因此每次执行行为模拟时都应该进行更改。在关闭ISim并在进行软件更改后从ISE重新启动它 在SDK中? ----------“我们必须学会做的事情,我们从实践中学习。” - 亚里士多德 |
|
|
|
a)ELF文件在ISEproject中添加maualy作为源并选择进行实现或模拟
b)是的,在SDK中进行软件更改后,关闭ISim并从ISE重新启动它 c)抱歉,我更改了模拟波形和测试台的源代码,如下所示,当我将XGpio_DiscreteWrite从250更改为150或任何其他值和performbehaviralral模拟时,为什么isim不更新此更改 ============================== ##包括包括 int main(void){XGpio led,button; int状态; Status = XGpio_Initialize(& led,XPAR_LED_DEVICE_ID); if(Status!= XST_SUCCESS){return XST_FAILURE; } XGpio_SetDataDirection(安培; LED,1,0); XGpio_Initialize(& button,XPAR_BUTTON_DEVICE_ID); XGpio_SetDataDirection(& button,1,1); while(1){if(XGpio_DiscreteRead(& button,1)== 1){ XGpio_DiscreteWrite(& led,1,250);} else { XGpio_DiscreteWrite(& led,1,100);}}返回XST_SUCCESS; } ======================================= -------------------------------------------------- --------------------------------公司: - 工程师:----创建日期:02:13:30 08/13 / 2013--设计名称: - 模块名称:D:/Data/VHDL/MICROBLAZE/run1/tbrun.vhd--项目名称:run1--目标设备: - 工具版本: - 描述: - - - 由ISE为模块创建的VHDL测试平台:run1mb_top-- - 依赖关系: - - 修订: - 修订版0.01 - 文件创建 - 附加注释:----注意: - 此测试平台已自动执行 使用类型std_logic和 - std_logic_vector为被测单元的端口生成。 Xilinx建议 - 这些类型始终用于设计的顶级I / O--以保证测试平台能够正确绑定到实现后的仿真模型.------- -------------------------------------------------- ----------------------- LIBRARY ieee; USE ieee.std_logic_1164.ALL; - 如果使用带有有符号或无符号值的算术函数,则取消注释以下库声明 - USE ieee.numeric_std.ALL; ENTITY tbrun ISEND tbrun; tbrun IS的体系结构行为 - 被测单元的组件声明(UUT)组件run1mb_top PORT(fpga_0_clk_1_sys_clk_pin:IN std_logic; fpga_0_rst_1_sys_rst_pin:IN std_logic; led_GPIO_IO_O_pin:OUT std_logic_vector(0到7); button_GPIO_IO_I_pin:IN std_logic); 结束组成部分; - 输入信号fpga_0_clk_1_sys_clk_pin:std_logic:='0'; signal fpga_0_rst_1_sys_rst_pin:std_logic:='0'; signal button_GPIO_IO_I_pin:std_logic:='0'; - 输出信号led_GPIO_IO_O_pin:std_logic_vector(0到7); - 端口列表中未检测到时钟。 替换为 - 适当的端口名称BEGIN - 实例化被测单元(UUT)uut:run1mb_top PORT MAP(fpga_0_clk_1_sys_clk_pin => fpga_0_clk_1_sys_clk_pin,fpga_0_rst_1_sys_rst_pin => fpga_0_rst_1_sys_rst_pin,led_GPIO_IO_O_pin => led_GPIO_IO_O_pin,button_GPIO_IO_I_pin => button_GPIO_IO_I_pin); fsga_0_clk_1_sys_clk_pin fpga_0_rst_1_sys_rst_pin button_GPIO_IO_I_pin |
|
|
|
我现在唯一能想到的是,您与模拟项目关联的ELF文件与在SDK中进行更改时更新的ELF文件不同。
你能在ISE中验证ELF源的完整路径吗? 它应该指向SDK /../ empty_application_0 / Debug目录中的ELF文件。 ----------“我们必须学会做的事情,我们从实践中学习。” - 亚里士多德 |
|
|
|
我发现ISE项目中的解决方案foldertb1_isim_beh.exe(tb1表示测试平台文件名)文件是在我删除它并开始模拟时创建的,现在结果已更新。
但我不知道为什么tb1_isim_beh.exe需要删除?有人可以解释这里发生了什么...... |
|
|
|
只有小组成员才能发言,加入小组>>
2378 浏览 7 评论
2793 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2260 浏览 9 评论
3334 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2426 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
750浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
536浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
359浏览 1评论
753浏览 0评论
1955浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 23:20 , Processed in 1.320071 second(s), Total 90, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号