Altera_Forum
Honored Contributor
15 years agoGeneral SOPC and Quartus
First a little background:
My company recently sponsored 3 days of Quartus training for my team (it was good training). Following the training the engineers on my team were given different tasks to further their knowledge. We also have decided to get the Nios training brought in. Combined experience with my team is over 80 yrs of FPGA, ASIC, and Embedded System development. As a development team we are moving from using a different FPGA vendor and separate processor to an Altera device and NIOS II, so we will be migrating a large amount of code. The software team likes Nios, the HDL team likes the Avalon bus, so we should all be happy. Now my task was to investigate SOPC builder, custom component creation, and basically what it is going to take to make the migration happen. Unfortunately my experiences with SOPC builder has made me very concerned with this migration. I took both of the On-Line SOPC classes and as long as I was duplicating the examples all went well, but when I began taking our own custom code and making the modifications to port into SOPC things have gone very poorly. As a group we are very concerned about the *_hw.tcl files that will be generated for each block on the bus implemented in the SOPC. We are also concerned with the *.vhd code that is being generated, as it seems to be inefficient and potentially hard to debug in case of errors. In general it seems to us that we are placing a lot of faith and trust in SOPC and Quartus to the bus infrastructure. Keep in mind the experience level of this team. We understand that there are advancements in tools, and new methods for getting things done. Unfortunately the migration to the Altera device is to be completed in 4 months. My recent experience and struggles with the tools does not make this likely. So, the Question I would ask the forum is trust the tools or trust our experience to get it done right? We can instantiate all of the components including Nios and our misc. components in Quartus and structure the code to operate as Avalon-MM and -ST with the thought that Quartus will recognize the structure and infer all of the resources properly or let the tools do all of that for us with the belief that we will never have to touch the tool generated files. I welcome any thoughts and opinions. Brett