fpgaxilinxmicroblazexilinx-edk

MicroBlaze is under RESET


I'm using an Atlys Spartan6 xc6slx45. I have these errors when I run the program:

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

File 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=;

some details of the 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

what value should I put for the reset to work the microblaze.


Solution

  • Digilent has reference design using microblaze you should loot at.

    Otherwise, your UCF file doesn't have location constraint. Which pin is the clock? Which one is the reset? You have to tell the tool!

    From the AC97 reference design, you should be fine if put these to the UCF (and remove everything else):

    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;
    

    You should notice that the microblaze system expected a 50MHz clock, while the clock you have on the board is 100MHz, you should make sure your system is still fine with this change. You also have to adjust your system.mhs appropriately.