Improved management with new version control system integration
Altium solves the problem of comparing different versions of graphical files as they are worked on and committed to the system by building integration to version control directly into the design interface, and providing specific features to allow the direct comparison of graphical files.
The powerful differencing engine within Altium Designer can highlight the smallest of graphical changes between different versions of schematic or PCB files, even when these changes have no effect on the connectivity of the design.
Altium has enhanced version control support to allow background fetches and updates of design files from the version control library. Designers can stay focused on the task at hand without having to wait for updates to finish: a great time saver with larger projects. And designers can now update all working file copies within their project with a single command, making it much easier to manage large scale changes.
Test inside the FPGA with new custom virtual instrument component
Altium believes that the future of electronics design lies in moving the implementation of core system functionality from fixed hardware and into 'soft' device intelligence that is programmed, rather than manufactured, into a product. Moving hardware functionality inside devices such as FPGAs, however, means that traditional circuit test methods using physical connections to signals traveling between components are no longer viable.
In traditional FPGA design flows, simulation has often been seen as a replacement for direct testing. But simulation is extremely difficult and time consuming when applied at the system level.
To solve this problem, Altium introduces the concept of virtual instrumentation. FPGA-based components carry out the typical functions found in bench-top test instruments. The hardware portion of the instrument is connected into the design at the schematic level and downloaded to the FPGA along with the circuit under development. The instrument is then controlled using soft front panels available within Altium Designer.
Altium Designer has a new dimension to virtual instrumentation with the introduction of a new Custom Instrument. Designers can now construct their own instrument to monitor and control signals within the FPGA. They choose the number and type of inputs and outputs they want, create custom scripts (in DelphiScript) to process the signals or respond to events as required, and build a custom interface or GUI for their instrument from a palette of standard components and instrument controls.
One interesting feature of the custom instrument is that the instrument interface can be stored as part of the design that is downloaded to the FPGA. This means that designers can create full custom test or maintenance interfaces for a product and store it inside the design. Any service engineer can then plug in to the design using Altium Designer, and instantly have access to the custom instrument panel without having to have a copy of the instrument definition stored on their computer.
C-based custom FPGA logic development
Altium Designer comes standard with a large number of custom FPGA-based functionality available as royalty-free FPGA-based components. Components range from basic logic blocks right through to sophisticated peripherals and processor cores. These components can be used to rapidly construct FPGA-hosted systems.
To extend the supplied functionality, Altium Designer supports the design of custom logic blocks. Previously this involved using the FPGA library components to create custom logic functions at the schematic level, or defining custom logic using the Verilog or VHDL Hardware Description Languages, or indeed a combination of all three.
Altium Designer now allows custom logic to be defined using the C programming language. A new type of sheet symbol, a C Code Symbol, has been added to the system to allow blocks of C code to be added within the schematic design hierarchy. The C Code Symbol refers to underlying C source code in the same way that Verilog or VHDL code is incorporated into a design. The ports on the symbol represent the parameters referenced in the underlying source code.
When the design is compiled, C code is translated to VHDL using the unified hardware/software compiler technology (or C-to-Hardware technology) and then synthesized to FPGA along with the rest of the design. Features have been added to the system to help designers generate C code templates from a defined C Code Symbol, or to generate a C Code Symbol from underlying source code.
Altium's unified hardware/software compiler is also used to generate application-specific coprocessor functionality directly from the C source code targeted for the system processor, allowing developers to accelerate code execution by running some functions directly in hardware. Altium now extends the opportunities available to embedded software developers by allowing them to write custom blocks of logic using C code and 'wire' these directly into the underlying system hardware.
Embedded developers can create application code, and participate in the creation of the hardware that will run that code, without having to learn new languages or development techniques. They can remain in the comfort of the C coding space, but extend their design reach to a much broader playing field.
Rapid design of FPGA-based systems with custom wishbone interface component
To provide an easy, modular way to rapidly build FPGA-based system designs, Altium Designer uses the non-proprietary Wishbone bus interface to 'connect' together the various FPGA-based peripheral component blocks available for system construction. A new custom Wishbone Interface component has been added to Altium Designer that can be easily configured to link custom peripherals to the Wishbone bus. This allows designers to extend the functionality supplied with Altium Designer and create or import custom functionality that can be easily combined with Altium Designer's in-built components.
Designers can expand beyond the peripheral devices supplied with Altium Designer, to bring in their own devices to perform whatever tasks they require. This greatly increases the scope of applications that can be developed in Altium Designer and opens the system to designers to build their own custom peripheral libraries, or indeed to develop custom peripherals that can be used by others.
Faster board routing with new interactive routing engine
Routing of connections is a major factor in determining the time taken to complete a custom board design. Board densities are on the increase, as are layer stacks and the prevalence of dense packaging technologies, making the routing job even trickier. Full automatic routing technologies provide a viable solution in a relatively limited set of scenarios. The biggest impact on routing, and therefore design time, is to be made by improving the interactive routing technologies that aid rather control the routing process.
Altium has introduced a new interactive routing engine to do this.
Basic operation modes include fast and robust push-and-shove of tracks and vias, guided routing mode for rapid trace placement with a minimum of mouse clicking, automatic hugging of existing traces when routing, and improved route auto-completion. Modes can be used independently or in combination to provide excellent control in all routing situations.
The cursor-guided routing mode, in particular, makes a huge difference to routing efficiency. It allows a designer to 'guide' the routing, rather than having to place and anchor each trace segment along the way. The engine intelligently places track segments under full design rule compliance to follow as closely as possible the movement of the cursor. Routing can be undone by simply 'backing up' over the previous path.
Altium offers, as standard, interactive length tuning for single nets and differential pairs, full differential pair support system wide, impedance-controlled routing, multi-trace routing, pin and part swapping, automatic FPGA pin optimization for routing, and the most attractive and intuitive interface going.
The latest release of Altium Designer is available now. Contact Altium, or go to www.altium.com/summer08 to see Altium's unified electronics design solution in action, and to book a live web demo.