As 2014 begins, I figured I’d give a quick summary of the work Nutaq did on the ADP Software Tools last year. In retrospect, 2013 was a year of huge improvements. As some of you know, Version 6.0 of the tools was released in March, but that was only a small step in the complete overhaul of how we develop and test the ADP Software Tools, a process that started back in 2012.
As we worked on Version 6.0, it became apparent that we would need to modify our development and testing methods. In addition to porting all our FPGA cores from the PLB bus to the AXI bus, we introduced many new important features to our tools, including RTDEx streaming capability as well as flow control. With a limited number of team members and the number of modules and features requiring testing, time was an issue. Increasing our efficiency was the only solution. We needed to improve in two major areas: the time required to build all of the test bitstreams and also how to accelerate the test process for each module.
The total amount of time required to build all the FPGA bitstreams used in our tests needed to be drastically decreased. For each FMC and FPGA module we support, bitstreams need to be created to test all 3 of our development methods (BSP, BSDK, and MBDK) and each of these bitstreams need to be generated for our 4 FPGA targets (LX240, LX550, SX315, and SX475). A total of over 120 bitstreams have to be generated, each taking roughly 60 to 120 minutes to generate.
Prior to Release 6.0, most of this bitstream generation was handled manually. For this release, we took some extra time to create high-level bitstream generation scripts that could be run in parallel, enabling us to reduce the total generation time to less than 16 hours. We aimed for a 16-hour mark because it reduced the “Test > Bug Identification > Bug Fix > Fix Verification” cycle to a single day, thus making the whole quality control process a lot more efficient.
The development of such tools may not look like much to people used to large companies with huge teams dedicated to quality control, but for a small company like us, it meant a big improvement in our testing capacity.
Test process acceleration
With the increasing number of FMC modules supported on the Perseus, the amount of time required to perform all the tests by hand was quickly increasing. Once again, improvement was needed. We decided to design applications for each module and development method (BSP, BSDK and MBDK) that performed comprehensive testing of the functionalities and configurations. These applications were designed to limit the amount of human intervention in the test process by running a series of tests specific to the module with different sets of parameters and storing the results when applicable for later reviewing.
These applications enabled us to increase the amount of testing we could perform. Not only did they speed up the process, they also brought to the surface some problems that never appeared in the test phase of our product before. This of course helped us to improve the quality of our product.
It wasn’t long before we saw a dramatic decrease in the number of customer support tickets related to our development environment, a reduction directly attributable to the increase in stability brought on by our new testing methods.
Even though we came a long way in 2013, we know that our software solutions can still be improved. The major challenge for the year to come is to simplify the installation process of the whole software suite. Our tools have critical dependencies with other third parties like MATLAB, System Generator, and Visual Studio, and each of these third parties need to be properly installed for ADP Software Tools to work properly.
Our guidelines for 2014 will be two-fold. First, we want to further increase the efficiency of our testing methods and tools. Second, we want to make sure that our customers have all they need to get started quickly with their Nutaq product. We know that once your environment is properly configured, the ADP Software Tools become a tremendously powerful asset for a developer that can considerably decrease the time required to create new and complex signal processing applications.
In my next blog post, I’ll talk about how we plan to help you get started quicker in 2014. We want to make your experience working with Nutaq products as good as possible.