取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
Highlighted
Adventurer
Adventurer
1,653 次查看
注册日期: ‎05-24-2018

错误:Cannot stop Microblaze

使用Vivado 2018.3,  Create New Project, Family:Zynq-7000,Package:ffg676,Speed:-2,Part:xc7z035

1.Add IP:MicroBlaze and AXI Uartile,所有参数保持默认,run Block Automation,run Connection Automation., generate bitstream successfully.

image.png

2.Export hardware, launch XSDK, create Hello world Application from Template. The processor is microblaze_0(standalone).

image.png

3.My target board is turned on and connected to the host PC via the USB-JTAG port. 

4.Click the Program FPGA button. Program FPGA with hardware design successfully. Set up the UART terminal.

5.Run the helloworld project as "launch on hardware(system debugger)"

6.错误: Cannot stop microblaze; Microblaze is held in reset.

image.png

0 项奖励
11 回复数
Highlighted
Xilinx Employee
Xilinx Employee
1,640 次查看
注册日期: ‎06-02-2017

Hi @altair5683 ,

检查一下clockwizard的reset和processor system reset的ext_rest_in外接信号是否处于active状态。

0 项奖励
Highlighted
Adventurer
Adventurer
1,623 次查看
注册日期: ‎05-24-2018

Clock wizard的reset信号为Active High, processor system reset的ext_rest_in信号为Active Low

image.pngimage.png

0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
1,615 次查看
注册日期: ‎06-02-2017

Hi @altair5683 

所以检查外部输入的两个信号状态如何?

按你的设置,如果正常工作,外部输入的clock reset:reset_rtl_0信号应该为低; reset_rtl_0_0的外部输入应该为高。

0 项奖励
Highlighted
Adventurer
Adventurer
1,585 次查看
注册日期: ‎05-24-2018

把reset_rtl_0改为Active Low后,运行Validate design

错误image.png

0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
1,574 次查看
注册日期: ‎06-02-2017

Hi @altair5683 

你没有理解我的意思。

两个IP中reset的极性要根据你的板卡上实际提供reset的信号来决定。比如板上提供reset的是按键,且按下为高电平,即为active high的形式。所以IP里的设置也要为Active High。不知道你板上提供reset的信号来源是哪里?

 

就单独的错误截图而言,是因为reset_rtl_0的port本身极性与IP设置相反导致的。

 

另外,一般MicroBlzae系统,用一个reset信号足够了,通常是把clock wizard的reset和processor system reset的ext_rest_in连接同一个,因为一般的板卡只用一个按键作为复位的功能使用。

 

Highlighted
Adventurer
Adventurer
1,559 次查看
注册日期: ‎05-24-2018

image.png

SW2按钮默认上拉 按下时接地

0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
1,555 次查看
注册日期: ‎06-02-2017

Hi @altair5683 ,

所以极性都是Active Low。

如果你依然想用两个reset的话,两个IP的reset极性都要设成Active Low,同时检查一下对应的Port的属性中极性是否也设成Active Low。

0 项奖励
Highlighted
Adventurer
Adventurer
1,544 次查看
注册日期: ‎05-24-2018

两个接口和IP的极性都为Active Low

错误没有变化

0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
1,538 次查看
注册日期: ‎06-02-2017

Hi @altair5683 

在port上右击点击属性,在左侧的属性中看一下polarity的属性(或者直接在port上双击看选项),确保都是Active Low

reset_polarity.JPG

0 项奖励
Highlighted
Adventurer
Adventurer
1,530 次查看
注册日期: ‎05-24-2018

image.pngimage.pngimage.png

0 项奖励
Highlighted
Newbie
Newbie
357 次查看
注册日期: ‎01-17-2020

您好,请问如果外部复位时间较长,例如10秒,在debug的时候会不会出现加载.elf文件的时候提示microblaze is held reset?在我的项目中使用了DDR,我把init_complete信号连接到了aux_reset_in管脚作为外部复位使用,结果会有概率在debug时出现microblaze is held reset错误,我使用ILA抓取init_complete信号,发现一直是拉高的,不知这是什么原因造成的。

0 项奖励