Looking for a mentor / teacher

Hi everybody,
I have followed many tutorials and how-to’s to get the Quartus programmer working from my Ubuntu 16.04 system but no luck unfortunately. I purchased a DE10 Standard with HPS and got a linux version working on it but still no interaction with the FPGA; I do no (the basics) how to write vhdl and configure a system on the FPGA (if I could tranfer the design to the board that is) and what I would like is to configure the FPGA from the HPS / Linux; I followed tutorials / examples for this, but unfortunately no luck as well. I am a little bit disappointed in some communications I received recently from Altera / Intel when I asked some questions to the support people (I got the feeling I am not really interesting anymore since I am a hobby-ist). I have some experience in Linux commands / command line, but the true in-depth-knowledge I am still lacking. I am eager to learn and not willing to give up so I am looking for someone who would like to be my “mentor” or “teacher” so I can get the understanding of the “how” and “why”. Anyone who wants to help me or give me directions: please contact me and thank you in advance! Best regards, Richard

You mean you will pay the person? Learning this platforms takes some time. You have to learn how to do the hardware (VHDL, verilog, OpenCL), how to use Quartus and Qsys, understand how HPS and FPGA are interconnected and learn how to do the software. I leave you here an starting guide I did with some documentation a beginner should read from my point of view. The community about this boards is small. The only way to learn is doing tutorials, reading the documentation or asking here. You can ask Altera and Terasic about specific errors but not for learning.

Regards

1 Like

Hi Roberto,

Thanks a lot for your response and the starting guide! I’m very pleased that there are people willing to help other out. If I can return the favor one day I certainly will. Unfortunately I am not in a position to pay people hard cash for lessons or knowledge that is given to me, but like I said above: if I can mean anything to anyone to be of help I will do so. As far as my current knowledge / know-how goes: I know how to use Quartus and QSys, I can write VHDL, I have enough knowledge of (ARM) processors to get a linux flavor running on it, I can write C / C++. What I am lacking in knowledge / skills terms is how the HPS and FPGA are interconnected. Where I do not seem to get my finger behind successfully is to get the Quartus programmer finding my connected board (despite setting the access rights (root) correct as far as I know (while I’m writing this I’m thinking that the one thing I have not tried is to check if the USB Blaster II should be accessed from my system from a specific group of which I am no member)). But thanks again, I will read the starting guide and do the tutorials: I am not afraid to make my hands dirty!

Best regards, Richard

Hi Richard, if you happen to be in the neighborhood: I’ve been playing with it quite a lot few years ago.
Linux kernel building, device trees, etc. For the first time I like FPGAs :wink:
Jos

1 Like

Hi Jos, thanks for your response!
In the Netherlands, basically everything is in the neighborhood (compared to larger countries), so do you happen to live in area of Nijmegen? If ok with you we could meet! Thanks again & best regards, Richard

I had a couple of years ago to go all the way to create a complete system on the chip (cyclone 5). I myself studied the circuitry, I created the device scheme I wanted, then I completely developed the board myself. Later, we put our motherboard into production, I was her soldering myself, and to test I had to build my own core. Now we are at the final stage - programmers complete the software. It is our custom to help everyone who wants to study, and if possible I can dodge your questions, but you must understand that no one will draw a complete picture.

Hi Max,
Thanks for your response; I know I have to put in (a lot of) effort myself and I will; it’s just that in this area (fpga) good help of people like yourself (experienced) is hard to find. I’m finishing a c++ neural network at the moment (regular pc application) and then I will start practicing the leads and advice I have gotten so far.

Thanks again & cheers,
Richard

How many neurons are included in the network? Why will you use this network?

This particular network is just something I wanted to investigate in a work related way; to objective is/was to see if the network can distinguish if an image is just plain gold or has a (gold) scratch on the surface; with normal classic image processing it is hard to segment the scratch in the surface, but it seems that a neural network can do the job; I have not tested it extensively yet but it looks promising. The current model only has 256 neurons per layer but when the basics work I’d like to test if using more neurons gives better results.

Excellent if you have any questions - send a message through the site, then we’ll figure out how to communicate

1 Like

Thanks Max! :slight_smile: if I’m getting stuck or lost on things beyond my knowledge I’ll try to find the answer here!

Hi

I don’t really understand your problem? I currently use an Arrow CycloneV board with an Angstrom linux running from and SDcard. I have no problems with the Quartus tools when I connect via sub to use a signal tap for debugging. For programming new FPGA code I do not use programming tool and usb, I compile an .rbf programming file and use standard linux tools to download the .rbf file to board and on the board I mount the sdcard and copyu the new FPGA file onto it, then reboot. Perhaps your problem is that you program the FPGA directly and then loose the code when you reboot?
I never use ubuntu on embedded boards only angstrom and an old busybox but it properly do not differ that much:

I on the other hand have the problem that Intel/rocketboard have deleted the old linux sources for the precompiled sdcard images for the arrow board. When I try to compile the newer sources where there is not a precompiled images available the compilation fails, I am a HW/VHDL guy so I do not have the skills to debug defective linux compile scripts, no one seems to use the Arrow board anymore and will/can help so we have ordered a de-10 nano board and hope the SW support is better on that one.

We made a python script to update the boards we work with the code is here:
import paramiko
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("–project", required=True, help=“Project name = Arria10_SOC | CycloneV_test | CycloneV_soc” )
parser.add_argument("–ip", required=True, help=“specify ip address for CycloneV”)
parser.add_argument("–dtb", default=False, action=“store_true”, help=“Also update soc_system.dtb “)
parser.add_argument(”–bin”, default=False, action=“store_true”, help=“Also update preloader-mkpimage.bin”)
args = parser.parse_args()

ip=args.ip
project=args.project
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

if args.project == “Arria10_SOC”:
ssh.connect(‘10.10.10.33’, username=‘root’, password=’ ‘)
ssh.exec_command(“mkdir -p sdcard”)
ssh.exec_command(“mount /dev/mmcblk0p1 sdcard/”)
ssh.exec_command(“rm sdcard/Optimus_top_A10.core.rbf”)
ssh.exec_command(“rm sdcard/Optimus_top_A10.periph.rbf”)
ftp = ssh.open_sftp()
ftp.put(’…/Optimus/synth/Arria10_SOC/output_files/Optimus_top_A10.core.rbf’, ‘sdcard/Optimus_top_A10.core.rbf’)
ftp.put(’…/Optimus/synth/Arria10_SOC/output_files/Optimus_top_A10.periph.rbf’, ‘sdcard/Optimus_top_A10.periph.rbf’)
else:
ssh.connect(ip, username=‘root’, password=’ ‘)
ssh.exec_command(“mkdir -p sdcard”)
ssh.exec_command(“mount /dev/mmcblk0p1 sdcard/”)
ssh.exec_command(“rm sdcard/soc_system.rbf”)
ftp = ssh.open_sftp()
ftp.put(’…/Optimus/synth/’+project+’/sdcard/soc_system.rbf’, ‘sdcard/soc_system.rbf’)
if args.dtb:
ssh.exec_command(“rm sdcard/soc_system.dtb”)
ftp.put(’…/Optimus/synth/’+project+’/sdcard/soc_system.dtb’, ‘sdcard/soc_system.dtb’)
if args.bin:
ftp.put(’…/Optimus/synth/’+project+’/sdcard/preloader-mkpimage.bin’, ‘preloader-mkpimage.bin’)
ssh.exec_command(“dd if=preloader-mkpimage.bin of=/dev/mmcblk0p3 bs=64k seek=0 count=4”)

ssh.exec_command(“umount sdcard/”)
ssh.exec_command(“reboot”)

Hi pso,

Thanks for your input, I will chase all the information I’ve received so far and feedback here if I have questions or results.

Thanks again, have a nice weekend & best regards,
Richard

Hello,
Have you tried installing Quartus on a Windows machine instead of Ubuntu?
In Windows the chances for driver & other problems are (by my experience) practically non existent.
The DE10 boards come with a tool (located on the utilities disk) that enables you to create a frame project with all I/O correctly configured. (=Systembuilder)
You can compile the project generated by this tool and download it to your board via USB (blaster) to your board (be sure to set the DIP swithces correctly as indicated in the getting started manual of the DE). Next step is to make a led blink or burn, and of you go.
By the way there are a number of really good books by Pong Chu, these books can help you started with VHDL / Verilog.
And if this fails, you still have this post (i also do own a DE10-Standard).
Best Regards,
Johi.