News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

Getting started with the TE0720-03-1CR

Started by jpotter0, October 19, 2019, 04:56:39 AM

Previous topic - Next topic

jpotter0

I just purchased a TE0720-03-1CR and a TE0705-04 for a project to replace an obsolete embedded controller for a DDS (Direct Digital Synthesis) rf source for rf linear accelerator systems. I won't go into detail on my application until I get into it. Right now I am suffering from information overload. What I need is a simple tutorial on how to get started to do something simple, the FPGA equivalent of "Hello World". I prefer written instructions to video because I find videos tedious and difficult to understand, but I will try a video tutorial if I can find one that's relevant. Recommendations would be appreciated. - Jim

jpotter0

I also have a TE0723-03-07S-1C. I discovered a tutorial by Duarte Galvão specific to the TE0723 series. However, I quickly ran into a snag. I updated Board Repositories, but the TE0723 is not among the Boards listed. The listings jump from TE0722 to TE0724, skipping TE0723. I tried editing the name, but the only option was to open the list and select from the list. Clicking on a name takes me to a web page with information on the board, and I have seen that the corresponding pages exist for the TE0723 boards, but I don't see how to make the TE0723 my default Xilinx part. I also don't exactly understand the significance of choosing the default part. I thought this was going to be an easy way to get going. It was until I get to where I am unable to follow the directions. I'm hoping someone can give me some guidance. I am at the very start of the learning curve and hoping to get into using FPGAs, the ZYNQ-7000 series in particular.

JH

Hi,
we offer reference designs:
TE0723 Series: https://wiki.trenz-electronic.de/display/PD/TE0723+Test+Board
TE0720 Series: https://wiki.trenz-electronic.de/display/PD/TE0720+Test+Board

--> Includes prebuilt Boot.bin and image.ub to start directly for first test.

you can use the our scripts to generate the reference design for the given Vivado Version or you install board part files manually.
Board Part Files are included into the reference designs. Ways to install and use board part files:
https://wiki.trenz-electronic.de/display/PD/Vivado+Board+Part+Flow
https://wiki.trenz-electronic.de/display/PD/Installation

PS: I don't know any "Duarte Galvão" tutorial, so I can't help with these tutorial

br
John

offroad

Quote from: jpotter0 on October 19, 2019, 04:56:39 AM
...the FPGA equivalent of "Hello World"
Just an opinion, Zynq is less accessible than a plain FPGA due to its much higher complexity.
You might consider taking one step at a time and get a plain Artix board e.g. CMOD A7 (Trenz sells those, too).
The FPGA part of a Zynq is essentially Artix so it's not really a detour.

If performance is not critical, you might even stick with plain FPGA and use a softcore Microblaze processor. The Zynq ARM core plays in a different league regarding performance, but you need to juggle with more balls. Depends on the application, of course.
As said, just my $0.02...

jpotter0

OK, I managed to use the test board scripts for my TE0720-03-1CR with the TE0705 test boards to create a bitstream and I was able to export it. I have moved the appropriate files to the SD card. I can find no mention of how to set the TE0705 TRM board to boot from the SD card so I assume that's the normal condition for this card. I put the SD card in its slot and powered up the board. Now what? How do I talk to the board or test the software? I have connected the mini USB port to my computer, and I get a beep when I connect it, but I don't have any idea what to do next. The Test Board DDocs say to locate the Xilinx documentation for programming and debugging, but that takes me top an overwhelming amount of documentation. There must be something simple I can do like light LEDs or something. Any guidance would be greatly appreciated. I now need a cool drink to lower the temperature of my brain.

jpotter0

Some progress has been made. I think I'm talking to the test board with PuTTY on COM9. I can log in and see petalinux. Help works. I am no expert on Unix or Linux, although I have dabbled in both in the past. Help generates a list of commands that don't look familiar. Meanwhile the Test Board directions I'm trying to use say Open Vivado HW-Manager and... I haven't got past Open because I have no idea where to find the HW-manager. Sorry to be so dumb about all this. Some steps are obvious and easy, then I reach a stumbling block, which usually seems to be directions written by someone who doesn't understand how ignorant I am of all this. I have high hopes that I will eventually get to the point where I can write my own applications, but the learning curve looks steep from down here at the beginning. Thanks to anyone who takes pity on me and gives me a prod in the right direction. Meanwhile, I will continue the struggle. ;-)> - Jim

jpotter0

OK, I got the HW-Manager started. The next step is "add VIO signal to the dashboard (*.ltx located on prebuilt folder)." I found a version of test_board.ltx specific to my board and zsys_wrapper.ltx. They both look like script files. but I don't see where to access them in the SDK. After that the next step says "PHY LED:". What does that mean?

jpotter0

I'm still making progress. I took and break, looked at some stuff on Vivado on the web, and then went back to the Hardware Manager. I managed to get the HW-Manager to find and open the .ltx file. Now to see what I can do with it. Sorry for all the detailed messages, but just writing the messages seems to help me make progress.

jpotter0

Stuck again. I see nothing in the root directory using the ls command. If I do ls -a I get . and .. I suppose that might be normal for an empty directory. As far as I can tell the program has been loaded, but it must not be or I'd see it in a directory. It's slowly coming back. I changed the directory to /usr. Now I see something with ls, and when I go back to / I now see a bunch of directories. That seems weird. Now the question is where is the test program? I've looked in all the subdirectories of /usr. Some are empty. Some have a lot of files, but I see nothing that looks like a program on the TE0720.

Time to call it a night, and let my brain rest.

jpotter0

There must be some Pilot error somewhere. Even though it looked like things were proceeding when I look at the project summary I see that I have two critical warnings in the Implementation and over 300 warnings each in the Synthesis and Implementation. The error message starts out [Board 49-67] The board_part definition was not found for trenz_biz:te0720_1q:part0:1.0. I have no idea what that means. Maybe it means I should start fresh and not make mistakes. I keep making progress, but...

jpotter0

It looks like the issue is that it can't find board part definition for trenz.biz:te0720_1q:part0:1.0. I looked at the list of valid board_part values with the get_board_parts tcl command. This is a little odd since my board is a te0720-1CR. Looking at the list I see that both the _1CR, part0:1.0 and part0:2.0 and _1q, part0:1.0 boards are there. However, I don't know why it's looking for the _1q part. I am goint to start over to see if I made a mistake somewhere along the way. There was a place where I thought the script should have taken care of the action but I "had to" intervene manually. If you've read this far, thanks for putting up with my ravings. I wll eventually get through it, but any advice or suggestions are appreciated. - Jim

jpotter0

I found a major error. I didn't implement the PARTNUMBER correctly in the design_basic_settings.cmd file. So far, with a couple more stumbles, things are progressing in a way that seems to make sense,

JH

Hi,
did you use 2018.3 reference design?
In this case design_basic_setting.sh will be configured by the selection guide:
https://wiki.trenz-electronic.de/display/PD/TE0720+Test+Board#TE0720TestBoard-DesignFlow
-->option you can still do it manually on the design_basic_settings.cmd but selection guide should work. If not, please let me know.

At first I would recommend to follow the instruction on the Wiki without changes. If you has problems with one of the steps, please let me know. Later you can start to manipulate the project or create your own project. Everything belongs together. So when you change something on PS-IP or PS-PL interfaces, you should regenerate HDF and regenerate all  other sources FSBL, uboot, linux(kernel, device tree rootfs). Depending on changes you must also add modifications manually (device tree, kernel settings...), not all is detected automatically by hdf import. There are a lot of things which work together and unfortunately we can't give step by step tutorials for all our products.

Regarding warnings on vivado (also other synthese tools from other companies), they always produce a lot of warnings, because the most thinks are generics and the tool did not know what the user want to do. The most warnings can be ignored, but unfortunately not all.  So you should start to check when you has problems.
PS: You can check the amount of warnings....which the same design has produces as I've generate it on a csv:test_board\prebuilt\hardware\hardware_summary.csv
Regarding:
QuoteIt looks like the issue is that it can't find board part definition for trenz.biz:te0720_1q:part0:1.0. I looked at the list of valid board_part values with the get_board_parts tcl command. T
--> board parts are installed locally with scripts. this waring is available since some vivado version, as long as you see  board parts with "get_board_parts" you can ignore it.
You can install board parts also global: https://wiki.trenz-electronic.de/display/PD/Vivado+Board+Part+Flow

br
John