赛灵思
直播中

萧昕腾

7年用户 189经验值
私信 关注
[问答]

Isim中的MicroBlaze项目仿真结果总是零该怎么办?

亲爱的先生,
我是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)

胡丹丹

2019-11-1 09:13:13
为什么频繁地断言和取消激活系统?
将系统复位(有效高或低,取决于您的系统配置)断言一段合适的时间是正常的,例如,
1000 ns然后取消激活它以让系统运行。
----------“我们必须学会做的事情,我们从实践中学习。”
- 亚里士多德
在原帖中查看解决方案
举报

胡丹丹

2019-11-1 09:18:35
为什么频繁地断言和取消激活系统?
将系统复位(有效高或低,取决于您的系统配置)断言一段合适的时间是正常的,例如,
1000 ns然后取消激活它以让系统运行。
----------“我们必须学会做的事情,我们从实践中学习。”
- 亚里士多德
举报

刘丹

2019-11-1 09:37:46
谢谢,Microblaze的ISE模拟工作正在进行中。
但是如果我在模拟完整的项目之后对SDK进行了任何更改,那么更改没有在Isim中反映出它的结果,在程序中更改后的SDK中我保存了项目并重新生成链接器脚本但是ISIM没有显示新的结果所以请帮忙。
再次非常感谢,因为从SDK到ISIM作为MICROBLAZE的初学者是非常好的感觉
举报

胡丹丹

2019-11-1 09:50:58
我不太了解这个问题,因为您发布的两个模拟波形非常不同,清楚地显示了您所做的一些更改。
我可以看到您将ELF文件作为ISE中模拟项目的源,因此每次执行行为模拟时都应该进行更改。在关闭ISim并在进行软件更改后从ISE重新启动它
在SDK中?
----------“我们必须学会做的事情,我们从实践中学习。”
- 亚里士多德
举报

更多回帖

发帖
×
20
完善资料,
赚取积分