Fully collaborative development has remained beyond the reach of most engineering teams, not least because there may never be a ‘good time’ to make the switch away from locally hosted tools. Another reason may be that there simply isn’t a design environment that offers all of the tools an engineering team requires. Finding the right platform would, presumably, be the first step towards a cloud-based collaborative development paradigm and it is one that Altium hopes to attain with the latest version of its development environment, Altium Designer 10.
If cloud-based collaborative development depends on tools that communicate seamlessly then what better way to implement that than with a unified development environment, and that’s just how AD10 has been positioned. It attempts to bring together all of the elements necessary for embedded development in to a single environment that can be licensed across an entire engineering team and, with the latest version, manage that development from a central repository of design files that can be checked in and out, version-controlled and passed for production.
For some this may represent the ultimate development paradigm; where design files are not only automatically backed up, but allow multiple engineers to develop parts of the same design in isolation without fear of ever working on an out-of-date version.
With this in mind, eeNews Europe was offered the chance to review AD10 so, with an evaluation license in hand, it was installed and fired up. The findings are reported here, without favour or prejudice, in as open and honest a way as possible.
Fundamentally, Altium Designer started life as a PCB design tool and it retains this feature, however since its inception in the mid-80s, it has been developed to incorporate architectural features that now provide the framework for a cloud-aware environment, as well as extending its design features to include CAD, FPGA and embedded software development. The result is AD10 which, in both theory and practice, offers the ability to move from concept to finished product in a single, or unified, design environment. With the latest version much of this is now managed in the ‘cloud’, albeit only in theory at the moment.
The unified concept forms a large part of Altium Designer’s unique strength, but it may also spell disappointment for some engineers who will undoubtedly have their own preferred tool suite for some development stages. And this really is the fundamental buy-in needed to adopt AD10; the idea that it can and should be used for all major parts of embedded development.
This is something akin to the large following that National Instruments enjoys with its graphical design language, LabView. A design tool like LabView, or AD10, can polarise developers; those that absolutely love it, and those that don’t. Unfortunately, there really doesn’t seem to be a lot of middle ground with AD10, as many of its major benefits come from using it as intended, as a unified environment across multiple disciplines.
Many, but not all, because the release of AD10 is essentially the introduction of three ‘concepts’; the unified environment, the cloud-based data file management and something in between, called Altium Live. Using Altium’s model of creating models at different levels of abstraction enables other members of a corporation not directly involved with product development to access vital data, through Altium Live – which is essentially a browser based portal. This, along with the concept of Vaults, allows data files to be accessed remotely to alter their status, checked in or out of the repository or simply viewed for reference. This extends the value of AD10 beyond the engineering department and really begins to demonstrate the true value of a cloud-based and unified paradigm.
That may be the goal but, today, it remains still out of reach, as some features of AD10, including the vaults, are still in need of hardening. As a development environment, the complexity of AD10 may also be apparent to users, which isn’t necessarily a good thing. The user interface could be improved; a multitude of context-sensitive menus make it sometimes difficult to navigate, while the sheer capability of the environment means it’s often difficult to know exactly which menu or tabbed screen you need to be working on. This is an observation based on limited time to become familiar with the environment, but it does illustrate that new users to AD10 will need to spend some time on the steep part of a learning curve before real development can begin.
The unified environment isn’t limited to the PC screen; AD10 is complemented by physical development platforms, called Nanoboards, that can, again theoretically, be used instead of board support packages and home-spun prototype boards. They are based on FPGAs and this illustrates another fundamental aspect of AD10; it is aimed fairly squarely at developers who make good use of FPGA technology. There are a number of Nanoboards available, featuring Xilinx, Altera or Actel FPGAs.
Figure 1a/1b: Alitum Designer 10 is a unified development environment which provides a single platform for PCB, FPGA and embedded software development.
It is also worth highlighting at this stage that in addition to AD10, developers will need to install and, in some cases, pay for the FPGA manufacturer’s own tool suite, in order to gain access to the essential Place&Route technology used to configure the FPGA. This represents the FPGA manufacturer’s ‘secret source’ and is rarely – if ever – made available outside of their respective development environments. So, if an organisation uses FPGAs from all three vendors, they will still need to license and install the FPGA vendors’ tool suites.
The unified environment itself is project based and well integrated, so that a new design requires a new project, which is then expanded in the project view to reveal all of the design files used in the project. If a new PCB is required, a new PCB design file is added to the project, similarly for an FPGA or embedded software. Within these sections respectively it is possible to, for instance, create a schematic diagram that forms the basis of the PCB. Mechanical design of the PCB and its components is also possible and a new feature for AD10 is a 3D design view of a populated PCB, intended to aid with the mechanical design of an enclosure, for example. The environment can then package the design files for export, version-control them and also recorded their status (released for production, for example).
While the project-based approach is structured, some engineers may find it too rigid and even though one of the fundamental concepts behind AD10 is creating portable designs using generic FPGA (VHDL/Verilog) components, it can require the use of device-specific libraries when using an FPGA with specific features. This library, in turn, must be imported to the project before it can be used.
Figure 2: Altium’s component management feature is able to provide live supply chain data from suppliers.
The wide-ranging capability of AD10 does raise the question about engineering disciplines, so much as engineering teams normally include a PCB designer, FPGA developer and embedded software specialist, but how often are they the same engineer? It follows that, if they aren’t, then the whole engineering team needs to standardise on a single environment – giving new meaning to the word ‘unified’.
Of course, the major benefit of a standardised platform, and one that is aptly demonstrated with AD10, is that it enables all design files to be managed more effectively. With the move to vaults – Altium’s preferred name for databases that may be stored locally, on an intranet or in the cloud – this becomes even more feasible. At the moment, while users can access two of Altium’s vaults through AD10, the cloud-based user-defined vault service is still in beta, but the concept is valid and it follows that when it is production-ready, many of Altium’s customers will benefit from using the cloud to store, share and access design files.
Other new features in AD10 are related to the management of design files and, in addition, components. Being able to globally version-control components, and distribute them via a secure vault will undoubtedly present massive productivity gains for many developers. This extends to being able to update (or even roll back) components in a particular project discriminately. It is this and features like it that really reflect the potential of a unified development environment in general and AD10 in particular.
Figure 3: The Vault concept makes design files available to the entire development team.
Moving to a unified development environment will undoubtedly appeal to a great many OEMs; it simplifies so many aspects of development, even if it does impose some restrictions. For many and, as AD10 continues to evolve, those restrictions will be less important than the (potential) productivity gains it offers. As embedded design cycles continue to shrink, using a unified environment coupled with a well-managed design library could significantly increase not only productivity but also creativity, as less time will be spent maintaining the building blocks and more time spent using them.
Visit Altium at www.altium.com