UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
738 Views
Registered: ‎05-28-2014

slave-serial - can anyone help with it ?

Hello,

 

We use ARTY-A7 kit connected to STM32H743 eval board (both are evaluation boards).

We are using the method described in xap583 (slave serial) , which means using GPIOs between boards (no spi mode).

 

These are the steps we are doing:

1. We created a flash.bin image which toggeles a led. We verified with vivado that it functions correctly.

2. We noticed that there is a jumper in ARTY-A7 board which can switch between spi and jtag, so we changed jumper to spi mode.Does it need to be in spi mode when using xap583 (GPIOs) ?

3. The boards are connected with 3 pins: din to fpga, cclk to fpga, and init. These pins are wired from stm32 cpu to xilinx without any resistors in between.

As to the other pins: prog_reset - switch on arty-a7 kit, and done is connected to led in arty-a7 kit, (so both pins are not used from software) .

4. We use the software reference from xapp583, with minor change for using gpios of stm32 (see attached files)

5. Trying to do the programming from stm32 with the attached code:
   the application seems to finish correctly except for: we get no turn on of led (done led) and fpga does not starts as expected (no led toggling).

6. We also tried to use "dummy" files (no fpga binary), and unfortunately we don't get any "INIT" error during progress.

Also tried to change device ID by hand but no init error... (we only see init error if we press PROG switch during bitstream load ).

Why there is no INIT error when injecting dummy file (we expected a crc failure in such cases) or changing device ID ?


Attached files: modified slave_serial.c for STM32. In addition, here is a link to TOP.bin (which toggle a led in ARTY-A7 KIT): https://drive.google.com/file/d/1YGin2eofcWuAuXC3cvFu5erFxy9rrc4p/view?usp=sharing

 

Can someone give advise please ?

 

Thank you,

ranran 

0 Kudos
7 Replies
Xilinx Employee
Xilinx Employee
701 Views
Registered: ‎08-10-2008

回复: Need help with slave-serial

You should change Mode pin to Slave Serial, not JTAG, not SPI.

------------------------------------------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
---------------------------------------------------------------------------------------------------------
0 Kudos
Highlighted
Explorer
Explorer
646 Views
Registered: ‎05-28-2014

回复: Need help with slave-serial

Hello Iguo,

 

Only today I've noiticed your answer. I wish I have seen this before, becuase we are still strulling with this issue.

But The jumper in the evaluation  only selects between 2 modes: jtag and spi . This is what the user guide says.

How can I change to slave serial mode in the eval board ?

 

Thank you very much

0 Kudos
Xilinx Employee
Xilinx Employee
634 Views
Registered: ‎03-07-2018

回复: Need help with slave-serial

Hello @ransh 

You will not be able to test slave serial on on Evalution board. In slave serial mode exetrnal microproessor/microcontroller is used for programming FPGA. This device only provides CCLK and configuration data to FPGA.

Kindly check XAPP583 slave serial schematic for detailed understanding.

You need to design custom board for testing slave serial mode of FPGA.

Regards,
Bhushan

-------------------------------------------------------------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
-------------------------------------------------------------------------------------------------------------------------------------------------
Explorer
Explorer
452 Views
Registered: ‎05-28-2014

回复: Need help with slave-serial

Hello Brushan,

 

I have re-checked this issue with HW engineer.

The HW engineer did wired MSL to be "111" in xilinx eval, which means that we do expect it to be in slave serial mode.

Yet, we get the same behaviour:

We never get the "done" on at the end of streaming: (The led in eval is not turned on), and also the application always finish without ever stopping in init_b failure (even with a dummy file).

We also checked the signals of clk and data and they both seems OK.

I should also note that we didn't wire the program gpio to be controlled by the application, but instead we press the "prog" button in eval.

 

Is there any other suggestion what can be the problem ?

Thank you,

ranran

0 Kudos
Explorer
Explorer
338 Views
Registered: ‎05-28-2014

回复: Need help with slave-serial

Hello,

Can someone please help with it ?

We're stuck with this issue, see above last reply above.

 

Thank you,

ranran

0 Kudos
Moderator
Moderator
313 Views
Registered: ‎06-05-2013

回复: Need help with slave-serial

Have you made sure that you are using the correct HW setup provided in XAPP583? Also thanks for confirming that mode pins are correct.
Have you taken care of bit swapping as discussed in XAPP583. There might be a case where Sync word is not seen or data is not aligned.
Which file you are using, i.e. write_bitstream -bin_file or bin file generated from write_cfgmem?
Also connect the JTAG cable and read the configuration register and share those. We can see what is wrong. Make sure to do referesh_hw_device before fetching that.

Thanks
Harshit
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Explorer
Explorer
286 Views
Registered: ‎05-28-2014

回复: Need help with slave-serial

Hi,

>Have you made sure that you are using the correct HW setup provided in XAPP583?

I have checked that the pins are in "slave serial mode"  , "111", is there anything aside this that we should take care of ? 

>Also thanks for confirming that mode pins are correct. 

OK

>Have you taken care of bit swapping as discussed in XAPP583. There might be a case where Sync word is not seen or data is not aligned. 

We use the exact referense code in arm (which is little endian), so we use the macro for little endian in the reference code.

Anyway, trying to change from little to big endian, did not make any change in results.

I also don't understand why we never see any "init" failure whther it is a "good" bin or a dummy bin.

>Which file you are using, i.e. write_bitstream -bin_file or bin file generated from write_cfgmem? 

The same .bin which we use with jtag is used for the salve serial.

I also don't understand why we never see any "init" failure whther it is a "good" bin or a dummy bin.

 

>Also connect the JTAG cable and read the configuration register and share those. We can see what is wrong. Make sure to do referesh_hw_device before fetching that. 

What is "referesh_hw_device" ?

 

Thank you,

ran

0 Kudos