MicroBlaze 处于复位状态

MicroBlaze is under RESET

我使用的是 Atlys Spartan6 xc6slx45。 当我 运行 程序时出现这些错误:

1. Check whether board is connected to the system properly.
2. In case of zynq board, check whether Digilent/Xilinx cable switch   settings are correct.
3. If you are using Xilinx Platform cable USB, ensure that status LED is green.

MicroBlaze is under RESET. Check if the Reset input to MicroBlaze and its  Bus Interfaces are connected properly
UNABLE to STOP MicroBlaze

文件system.ucf:

#  Generic Template
Net fpga_0_clk_1_sys_clk_pin TNM_NET = sys_clk_pin;
TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 50000 kHz;
## Net fpga_0_clk_1_sys_clk_pin LOC=;
Net fpga_0_rst_1_sys_rst_pin TIG;
## Net fpga_0_rst_1_sys_rst_pin LOC=;

system.mhs的一些细节:

PORT fpga_0_clk_1_sys_clk_pin = CLK_S, DIR = I, SIGIS = CLK, CLK_FREQ =    50000000
PORT fpga_0_rst_1_sys_rst_pin = sys_rst_s, DIR = I, SIGIS = RST,  RST_POLARITY = 0

BEGIN clock_generator
PARAMETER INSTANCE = clock_generator_0
PARAMETER C_CLKIN_FREQ = 50000000
PARAMETER C_CLKOUT0_FREQ = 66666666
PARAMETER C_CLKOUT0_PHASE = 0
PARAMETER C_CLKOUT0_GROUP = NONE
PARAMETER C_CLKOUT0_BUF = TRUE
PARAMETER C_EXT_RESET_HIGH = 0
PARAMETER HW_VER = 4.03.a
PORT CLKIN = CLK_S
PORT CLKOUT0 = clk_66_6667MHz
PORT LOCKED = Dcm_all_locked
PORT RST = Debug_SYS_Rst
END


BEGIN proc_sys_reset
PARAMETER INSTANCE = proc_sys_reset_0
PARAMETER C_EXT_RESET_HIGH = 0
PARAMETER HW_VER = 3.00.a
PORT Slowest_sync_clk = clk_66_6667MHz
PORT Ext_Reset_In = sys_rst_s
PORT MB_Debug_Sys_Rst = Debug_SYS_Rst
PORT Dcm_locked = Dcm_all_locked
PORT MB_Reset = mb_reset
PORT Bus_Struct_Reset = sys_bus_reset
PORT Peripheral_Reset = sys_periph_reset
PORT Interconnect_aresetn = proc_sys_reset_0_Interconnect_aresetn_0
END

我应该为重置设置什么值才能让 microblaze 工作。

Digilent 有 reference design 使用 microblaze 你应该抢劫。

否则,您的 UCF 文件没有位置限制。哪个引脚是时钟?哪个是复位?你得告诉工具!

根据 AC97 参考设计,如果将这些放入 UCF(并删除其他所有内容)应该没问题:

Net fpga_0_clk_1_sys_clk_pin LOC = "L15" | IOSTANDARD = "LVCMOS33";
Net fpga_0_rst_1_sys_rst_pin LOC = "T15" | IOSTANDARD = "LVCMOS33" | TIG;
Net fpga_0_clk_1_sys_clk_pin TNM_NET = sys_clk_pin;
TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 100000 kHz;

您应该注意到 microblaze 系统需要一个 50MHz 的时钟,而您在板上的时钟是 100MHz,您应该确保您的系统仍然可以适应这个变化。您还必须适当调整 system.mhs。