FPGA Design.
              We can help with your requirements from system architecture analysis
                and design to module level designs.
                If you are unsure of what your requirements are, we can help
                create a specification for a design, or even decide if using an
                FPGA/CPLD is the most appropriate solution to your problem.
              Our FPGA design background was originally within
                the Telecomms industry designing for Sonet/SDH, ATM and Ethernet projects.
                These designs tended to use the latest leading edge low volume high cost
                system on a chip type devices. We have also completed many smaller designs
                with higher volume lower cost devices where the FPGA cost is a significant
                factor in product price. The limitation of the resources in these smaller devices
               	must be borne in mind more when approaching these designs.
                
              Most of our experience is with Altera
                and Xilinx devices and tool sets, with Modelsim for design test
                and verification and Synopsys' Design Compiler, Synplicity's Simplify
                and Mentor Graphics' Leonardo for design synthesis.
                We have completed designs for Altera's CycloneIII, CycloneII, Cyclone, 20K,
                Acex, 10K series FPGAs and MAXII, Max7000 series CPLDs; Xilinx
                VirtexII, VirtexE, SpartanII and SpartanII-E series FPGAs. We have also designed for Atmel CLDS
                and are currently translating a customer design to an Actel device for higher
                IP security for volume off shore manufacturing.
              We have our own tools which allow
                designs to be targeted at Altera or Xilinx (and now Actel) FPGAs and so can accept
                outsourced work (our preferred operating mode) or we can provide
                an engineer to work at a client's site within the UK.
              We have experience of implementing Xilinx's Picoblaze
                'soft CPU' (see the downloads page for details) and can deliver SOPC designs based around
                Altera's NIOSII CPU core. See the SOPC page for more details.
              
Project
                Lifecycle
              
                The life cycle of a project will depend somewhat on the scale of development. For a small project
                when a specification has been agreed (this might only be a couple of pages) we would aim to complete
                our development and deliver the completed package in one drop, with several days support
                for integration/testing if needed.
                On the large projects we would expect to spend some time up front working
                with client's engineers to ensure we agree on specifications and deliverables. We would
                then start our development, continuing close communication with the client and
                delivering interim design deliveries/progress reports as required. We can be available
                for integration/testing support for these interim deliveries. At the end of our
                development phase we will be available for a longer period of support to allow
                full product testing.
              
Design
                Specification
              
                
                As discussed above, we will work to agree a design description document
                 before the FPGA/Hardware design aspects of a project are started. This will specify
                detailed requirements for a design, what will be tested and to
                what level (are fully automated self checking test benches needed
                etc?), target device, clock speeds, interim deliveries etc. If a client is unsure about
                what is required we will work with them to help derive this specification.
                
                We have fast Internet access with VPN (virtual private network)
                capabilities so communication can be fast and efficient. We will
                make every effort to have a series of face to face meetings to
                discuss requirements at this stage. Having a fully detailed design
                specification with a check list of verification points is the
                ideal, but if the project is small this specification can be much
                briefer. 
              Having witnessed several successful
                outsourcing projects while working on-site with major clients
                we are convinced that a significant contributing factor to the success
                was the amount of effort that was spent on design specification
                at the start of the project.
                This is an interesting article
                about writing a spec before starting a design. It's written from a software engineering perspective but is very relevent to
                hardware development.
                
              
Coding
                Styles
              We can tailor our coding style
                to follow any style guide a customer specifies. It is generally
                recognized that maintaining a consistent coding style across a
                development team makes maintenance, debug and re-use easier. By
                following a customers style guide integration, maintenance and
                reuse of our designs is simplified.
              
Testbenches
              In order to speed up the system
                level verification of designs we have a skeleton transaction based
                testbench prepared. This can be quickly modified to allow fast
                and adaptable, text file configured tests to be performed on a
                target design. Alternately we can design our testbenches around a
                customers defined testbench structure.
              
GUI
                or Scripting?/Directory Structure etc.
              If we are developing a module which
                is to be integrated in a larger project we can deliver the design
                built with a set of scripts which meet a client's template. Alternately
                we can provide an archived project directory so the client can
                re-build the design using the different tool GUIs. We can also
                deliver the design to match whatever directory structure is required.
              
Deliverables
                and Milestones
              Deliverables and milestones should
                be agreed as part of the requirement specifiation. These may include
                early versions of a design to allow a client to start integration/testing
                with their target system. These may also include an agreed period
                of integration/debug and test support at the client's site. We
                will be as flexible as possible to meet customers requirements.
              
Version
                Control and Archiving
              Version control and archiving of
                designs under development is essential to ensure that time is
                not wasted if a development machine crashes or similar disasters
                occur. We use a simple version control tool QVCS from http://www.qumasoft.com
                to track development versions and regularly archive designs off
                site.
              
Accepting
                Work
              One of our
                most important goals is to keep our customers happy. Satisfied customers leading to repeat work is our
                ultimate goal. With this in mind we will not accept a project unless we are confident
                we have the resource to complete it on time and within budget.