technolution · the choice of the cpu or fpga brand is determined only by rational arguments such...

28
Technolution /technology statement >the right development

Upload: others

Post on 28-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Technolution/technology statement

>the right development

Page 2: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability
Page 3: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

[ 03

Technology statement

General technology

Company attitudes towards technical challenges

People

Technology management

Internal technology projects

Moving functionality between electronics, programmable logic and software

Agile systems development

Go “real” soon

Project selection

Vendor-independent platform selection

Vendor-related partnerships

Public/private partnerships

Technical ecosystemss

Systems Engineering

Adding value

Search for ‘the right solution’

Tooling

Standards

Certification services

ICT-infrastructure

Basic principals

Subjects to consider

Networks

Security

Hardware/software virtualisation

Software

Software development anddocumentation tools

Programming languages

Script languages

Software development tools

Quality assurance

Model-based software design

Technical Information Systems

Target operating systems

Middleware

Databases

Web 2.0

Embedding TIS on smartphonesand tablets

04

06

06

06

06

07

07

07

07

07

08

08

08

08

09

09

09

10

10

10

11

11

11

12

12

12

13

13

13

13

13

14

14

15

15

15

16

16

16

/table of contents

Embedded Software

Target operating systems

Industrial field buses

Low-level system software

System and data integrity

Programmable Logic

Programmable-logic design environment

Design philosophy

Programmable logic devices

Some examples

Electronics

Signal integrity

Quality-assurance tests

EMC, UL/CSA/IEC or automotiveapproval

Electronics design environments

Measurement equipment

Parallel and serial buses

Analogue-circuit design

Switching power supplies

Optical-data transmission

17

17

17

18

18

19

19

19

20

20

21

22

23

23

24

24

25

25

26

26

Page 4: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

System

Engineering

TechnicalInformation

Systems

ICTInfrastructure

EmbeddedSoftware

Electronics

ProgrammableLogic

Page 5: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

[ 05

/technology statement

This brochure is intended as a “Technology Statement”. It touches on subjects

in the areas of technology in which Technolution is active, experienced and

holds an opinion of its own. It demonstrates the involvement of Technolution in

these areas.

We are a technology-driven company: that’s what makes us tick. But of course,

technology for the sake of technology has no meaning. We like to put technology

to work for meaningful projects ranging from everyday matters to complex

machinery that helps other companies to be successful.

The information in this document is intended to be browsed through rather

than read from beginning to end. We invite you to pick up on anything that is

of interest to you. The descriptions on the wide variety of subjects are very brief,

and if you would like further information on any of the subjects, we encourage

you to contact us.

>technology-driven

Page 6: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

/general technologyFirst, we describe a number of subjects that are not specifically bound to a certain technology domain but that are general, company-wide principals, observations, statements, rules and opinions that give guidance in our everyday work.

Company attitudes towards technical challenges

When we are faced with a complex problem, we solve this problem by simplification rather than by adding complexity. It requires a lot of hard work to keep things simple: simplicity is the soul of quality. Needless to say, inherently complex problems do exist. These problems need to be broken down into smaller, simpler pieces that together solve the complex problem.

People

Technology is put to work by people. Without smart people, even the best technology is useless. Therefore, we have a strong focus on the personal development of our employees. We do not have a traditional departmental structure: we put people with the right mix of knowledge and skills together in teams to guarantee the best possible result for the project.

Technology management

Within our company, each focus area is supported by a technology manager. This person is responsible for keeping us ahead in the field of technology, ensuring that the people are well-informed and well-trained, deciding when to adopt new technology, maintaining best-practice documents and determining and initiating internal projects.

>withoutsmart people, technologyis useless

>> keep up-to-date with technology trends

Page 7: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Internal technology projects

To keep up-to-date with technology trends and to get hands-on experience, we continuously execute in-house R&D projects. By doing so, we break down the “you don’t have experience with this technology” barrier that we sometimes face when acquiring new projects. During such projects, the knowledge gained is recorded in best-practice documents.

Moving functionality

between electronics,

programmable logic and

software

With the availability of programmable-logic devices (like FPGAs), the relationship between electronics and software has been greatly extended. We now have the choice of implementing functionality in electronics, programmable-logic devices or software (i.e. on CPU cores, including CPU cores in FPGAs).

This offers new possibilities and requires close cooperation in the design phase between electronics and software specialists. In a number of projects, we shifted functionality from the traditional software domain to the programmable-logic domain, thus enabling innovative solutions.

Agile systems development

Our industry is frequently reinventing itself. Problems with large projects continually occur, and people continually try to find ways to solve them. The agile systems-development paradigm is different (www.agile-manifesto.org) and is fully supported by us because it reflects the way we already work whenever possible.It is not a method in the accepted sense. Rather, it is a framework focused on quickly delivering a quality solution. It supports methods such as SCRUM, DSDM (Dynamic Systems Development Method) and XP (eXtreme Programming) where customer satisfaction and working software are the central themes.

Sometimes customers demand a more formal way of working (usually the waterfall method). When this is the case, we still transparently use most elements of the agile approach for the actual engineering phase.

Go ‘real’ soon

This simple statement means that we integrate work by multiple people continuously and as early as is feasible. This enables us to find problems as early as possible, meaning that they can be corrected with little effort. It also involves users at an early stage in order to optimise the usability of the system in development.

Project selection

We don’t accept all possible projects.

Besides the fact that we need

a project to be profitable, it must also

be of relevance to society, usable and

something we can be proud of.

>involve users>> get hands-on experience

[ 07

Page 8: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Vendor-independent

platform selection

When creating the most cost-effective solution, we often use components, tools, middleware or platforms from vendors. Due to the fact that we are vendor independent, we look for the best suitable components for the project. For embedded systems, this means we choose between OS-less, Windows-CE, VxWorks, embedded Linux or some other proprietary solution.

In relation to electronics, for example, the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability over time etc.

Vendor-related partnerships

Although it seems contradictory to the previous statement, vendor partnerships are solely based on access to technology. We currently participate in partnership programs with Xilinx, Altera and Microsoft (WEP and MSDN).

Public/private partnerships

Technolution is a partner in the organisation ERTICO, a multi-sector public/private partnership pursuing the development and deployment of Intelligent Transport Systems and Services (ITS). We also participate in many other subsidised programs, such as Point-one.

Technical ecosystems

More and more customers require Technolution to deliver a total care solution, involving competences in which Technolution does not specialise. To fulfil these demands, Technolution co-operates with high-quality partners in areas like mechanics, production and safety standards.

>> we look for the best suitable components

Page 9: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Adding value

Systems engineering is not just about documents. It’s a process, in which we focus on deliverables that add value.

Systems engineering requires:• The right people (not just the

manager);• An inquisitive, logical and critical

attitude;• Focus on essentials;• Gathering of domain knowledge;• Thinking in problem descriptions,

not solutions;• Giving customers what they need,

instead of what they asked for.

[ 09

/systems engineering

Systems engineering is an important service that we have mastered over the

years. It entails the process of translating requirements into a system design.

The key is to come to an overall system design in which the different

disciplines are integrated and working together. We have experience in

combining disciplines like electronics, embedded software, programmable

logic and mechanics into a product or system.

Search for ‘the right solution’

Communication is key to a good

solution, as understanding each other

is vital. Requirements need to be clear

and complete.

>focus on essentials

109

106

103

100

103

106

109

enterprise context

enterprise

stakeholders

systems

disciplinary design

parts, connections, lines of code

nu

mb

er

of

de

tail

s

Page 10: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Certification services

Certification is a process closely related to systems engineering,in which implementations are verified against the specifications applicableto their construction. Certification is always done by an external party whose responsibility it is to interpret the specifications and build a certification environment to test the implementations. We offer such services.

Tooling

Although tools are no substitute for craftsmanship, they can help to keep everything consistent and verifiable. We use tools like Doors, Requisit Pro, Trams (Technolution Requirements And Management System) and customer specific tooling.

Standards

Some standards we have worked with:• ISO 15288 Systems and software

engineering - System life-cycle processes

• IEEE J standard 16• IEEE 1471 Recommended Practice

for Architectural Description of Software-Intensive Systems

• DOD standards

This environment provides a framework with common functionality such as development and execution of scripts and reporting. With this environment, highly automated tests are possible, eliminating tedious and error-prone manual tests. This results in quick, complete and reliable certification testing.

Certification tests should be done automatically and as much as possible in order to prevent user errors. The ability to perform regression tests quickly and accurately is very important. To this end, Technolution has developed its own flexible certification environment.

>> highly automated tests:

quick, complete and reliable

certification testing

Page 11: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

[ 11

/ICT-infrastructure

ICT-infrastructure has become a separate discipline because of the enormous

complexity modern infrastructure exhibits. With ICT-infrastructure we consider

everything that has to do with building and maintaining a hosted environment

for applications. Customers more and more demand completely integrated

solutions even with hosting services. This seems in contradiction with the much

praised “Cloud computing” where everything exists in the cloud, but when

you take a closer look you will realize that the cloud has to begin somewhere.

That makes us cloud makers.

Basic principals

ICT Infrastructure has to be designed where simplification plays a crucial role. Overly complex systems suffer maintenance cost, reliability, availability and security. A common underestimated problem with complex systems is that they give a false sense of security at considerable cost.

ICT Infrastructure has to be

designed to support the applications

and services required. To reach an

optimal situation the design of the

applications and the infrastructure

goes hand in hand.

Subjects to consider

power supply, (High)availability,

security, operating systems, storage

solutions, data integrity, middleware,

network components, physical

location, cooling, physical accessibility,

maintainability, future expansion

scenario’s, update policy, licences,

internet connection, integration in

corporate networks, VPN accessibility,

fire control, disaster recovery, backup

and archiving means and policy, server

performance, virtualisation, knowledge

management. Equipment (CISCO,

DELL, HP, MOXA, Checkpoint,

NetGear,..).

>> the cloud has to begin

somewhere

Page 12: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Security

The purpose of information security is to protect and authenticate information and services. A risk analysis uncovers the information and services to be protected. Based on the risk analysis, technology and methods can be put in place to minimize risk. Some examples of technologies we have used are: SSL, IPsec, HTTPS, PPTP, Kerberos, PGP and PKI. We have knowledge of ITSEC and Common Criteria methods for certification.

Hardware/software virtualisation

An old technology, already used by IBM in the 1960s, makes a re-entry in the sever, PC and embedded computer markets. Hardware virtualisation allows multiple OSs to run simultaneously on a single platform, as if they run on their own system.

Applications in the server market are driven by security issues; in the PC and embedded market applications have to make optimal use of the available CPU cycles and reuse of (legacy) software. Virtualisation also comes down to consumer devices, like cell phones and set-top boxes. Technolution currently uses VMware for typical PC platforms and VirtualBox for use on high-end embedded systems.

Networks

Computer networks are build from logical protocols on top of physical data links. Although not the only protocol available, TCP/IP and all its associated standards and products are the backbone of our modern, internet-based society. Therefore it is one of our core competences. Physical data links come in many flavours from fibre optic, xdsl to wireless.

The recent years have shown a sharp decline in the use of POTS and rental lines in favour of (closed user group) VPN solutions and mobile communication solutions like GPRS/3G - UMTS/LTE.

We are in fact our own VMNO (Virtual Mobile Network Operator) so we can offer data services; terminal equipment, SIM-cards (for GPRS/3G) either over internet or via a so called Closed user group with an APN.

>>we are our own VMNO

Page 13: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

/software

Programming languages

Because we have been active in the computer industry for over 25 years, we have used nearly every programming language at some point in time. There is hardly a subject that has caused more debate among technicians than the choice of a programming language.

The more popular ones today are Java, C/C++ and C#. When selecting a language for the job, the most efficient one in terms of speed, familiarity and maintainability should be chosen. For portability across server and desktop platforms, Java and C# are the preferred choices, and when developing hard real-time embedded systems, C is the only option with possible escapes to an assembly language.

Script languages

Script languages are used to glue together all sorts of development tasks. Tools and conversions help when either installing or testing software and systems. Python, PHP, and JavaScript are some of the more frequently used script languages. We also use them to automatically perform stress tests during electronics/programmable-logic/embedded-software prototype testing. Scripts and make files are also used to build and simulate programmable logic (nightly builds and self-checking test benches).

Software development tools

Tools can shorten development time. A few of the ones we have used include Eclipse, Microsoft Visual Studio and GNU tool chains. Care must be taken when tools that “generate” code are considered.

Today, in the embedded field, no such tools exist that provide satisfactory results. Performance, size, predictability and maintainability (vendor tool lock-in) are compromised. We follow these developments, but we do not yet see added value.

>> tools, not targets!

Software is what makes hardware tick. It has been the basic reason of existence for Technolution from the beginning. Software comes in many shapes and appearances ranging from low level machine code to high level meta languages. We have divided the field of software programming into Technical Information Systems and Embedded Software.

Software development and documentation tools

When analysing, defining and specifying a software system, we use well-established methodologies (like UML, Yourdon, Hatley and Pirbai). However, we always use them in a fit-to-purpose manner i.e. in the best possible and practical way, and not rigorously. In other words, they are tools, not targets.

[ 13

Page 14: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Quality assurance

An integral part of software development is the use of test frameworks. Unit testing, like NUnit, JUnit and CUnit are used during the development of software modules and integration of modules. When useful, automated system tests are implemented to automatically test the conformance with the system requirements. An additional step we introduced is “static code analysis”, an extra measure to detect coding errors in both happy and unhappy execution flows.

Model-based software design

There is a strong demand, generally amongst management, to generate code from an abstract model of the planned system. In theory, this should lead to quicker development of programs that have less bugs and are easier to maintain. In practice, the gap between the abstract model and the software is too great in many situations, as the models do not contain the required level of detail. Most success is achieved with domain-specific methods and tools. So, do we use modelling? Yes, but pragmatically as a means to design and communicate, not to generate code.

Design and code reviews are

considered testing as well, as

they are standard practices for

improving quality and spreading

coding practices.

>design andcommunicate

Page 15: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

[ 15

/technical information systems

The construction of Technical Information Systems (TIS) is a logical extensionof the activities we have been undertaking since 1987. TIS are often IT intensive and characterised by the use of general-purpose computing platforms such as PCs, servers and other COTS (Commercial Off The Shelf) system components.

TIS are built by Technolution using databases, middleware, application frameworks (Java EE, .NET), GUIs, web services and so on. Although many principles of sound technical design and implementation are common, the skills needed to design and implement TIS are beyond the embedded domain, and therefore such projects are staffed by specialised people. Because of our strong technical background, we are able to provide a sound technical architecture in which performance and flexibility are built-in from the beginning.

Target operating systems

Operating systems come in many styles, forms and shapes. As an independent development company, we select the most suitable one for the job. Because not all situations are the same, we make a choice from all mainstream operating systems.

We have used open standards like

Web Services (WS-*), REST and

RPC, as well as proprietary systems

like COM/DCOM in several projects.

Today, two concurrent technologies

have emerged that can be used for

distributed application development:

.NET and Java EE. Both offer roughly

the same features, and both offer

specific advantages. We do not make

a definite choice for either of these

technologies. As a vendor-independent

development company, we select the

best technology for the job at hand

while also considering the possible

existing environment in which the

applications will be deployed.

Middleware

Nowadays, middleware is almost mandatory when developing distributed, load-balanced, failover-capable applications. Middleware eases the development burden of these applications by providing a solution for all or part of the required features.

S E R V E R Windows 200x, Sun Solaris, Linux

DESkTOPWindows 7/8, Vista, XP, Linux

TABLET&PhONEiOS, Android, Windows Phone/Mobile

Page 16: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Databases

During the course of application-server implementation, the use of databases is inevitable. High-end databases like MS SQL2008 server and Oracle were used in many projects. For applications that do not need such heavyweight database servers, we revert to more lightweight products like MySQL, PostgreSQL, SQLite or Interbase/Firebird. Connections to the databases can be JDBC, .NET data providers, ODBC or native SQL, depending on the application. In some cases, ORM solutions like Hibernate of NHibernate are used.

Web 2.0

Web 2.0 is not a single technology in itself. The phrase Web 2.0 has been invented to indicate that a new generation of online collaboration and distributed applications has emerged.

Embedding TIS on

smartphones and tablets

In the last few years, personal devices like smartphones and tablets have become very popular. They have become ideal hosts to many applications previously exclusive to the PC.

>> we look for the best suitable components

Because these platforms have evolved into complete and powerful computing platforms and hide all low-level electronics-related details, they can be programmed by people with a TIS background. We have created Android, iPhone and iPad apps.

Examples of technologies that are commonly associated with Web 2.0 are AJAX, ASP.NET AJAX, SOAP, Web Services (WS-*), RSS feeds, weblogs and wikis. Many of these technologies are not new by themselves and have been used by Technolution as part of our solutions.

Although it may sometimes not be

very fashionable, we continue to

choose the best technology fit for

the problem at hand with simplicity

and quality in mind.

Page 17: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

[ 17

/embedded software

Creating embedded solutions requires fundamentally different skills compared

to those required for standard IT solutions. Therefore, many technicians at

Technolution have solid technical-engineering backgrounds. We design and

develop embedded applications, electronics, production-test software, board-

support packs (VxWorks, eCos), OS porting (Windows-CE and embedded Linux),

device drivers and protocol stacks (proprietary, TCP/IP). To do so, we use

cross-development tool chains and software debuggers (frequently JTAG-based)

that match the chosen electronics platform.

Target operating systems

Operating systems come in many styles, forms and shapes. As an independent development company, we select the most suitable one for the job. Because not all situations are the same, we make a choice from all mainstream operating systems.

However, in certain situations in the embedded world, time is critical and the functionality of the system is fixed and limited. In such cases, there is always the choice of using no operating system at all.

Examples: Windows XPe (embedded), WinCE.NET, embedded Linux, eCos, µC/OS-III, VxWorks, QNX.

Industrial field buses

To qualify as an industrial field bus,

the protocol must be robust and

real-time. The industrial automation

industry never succeeded in defining

the definite standard. We have worked

with most of the popular de-facto

specifications like CAN (with various

sub-protocols such as CAL and

Devicenet), Real-Time Ethernet

(Ethercat, SERCOS-III), Precision

Time Protocol (IEEE 1588), Profibus

and Echelon.

>creatingembedded solutions requiresdifferentskills...

Page 18: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Low-level system software

The collection of software modules that abstract and gain access to the underlying hardware, operating system, network and other hardware elements, is what we call the low-level system software. Think about items like the Hardware Abstraction Layer (HAL) and Operating System Abstraction Layer (OSAL).

We developed low-level software for many off-the-shelf and custom electronics boards. On many occasions, we developed software for a bare board, i.e. from the first instruction executed when the processor comes out-of-reset. Followed by processing interrupts and servicing application API calls. The customer can place his application on top of the low-level software, or we develop the complete embedded application as well.

System and data integrity

The integrity of the system is very

important to (stand-alone) embedded

systems. The system must always

boot, and the integrity of the data must

be power-down safe. These aspects

must be handled by design, not by

experiment. It requires a multi-

disciplinary design approach, and over

the years, we have gathered much

experience in these fields, resulting in

to robust system designs with respect

to system and data integrity.

>> on many occasions we developed software for a bare board...

Page 19: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

[ 19

/programmable logic

Programmable logic has been around for over 20 years. In the early days, it was a tool for electronics engineers to optimise their electronics designs with respect to component count (glue logic). This has changed dramatically in the last few years, as FPGAs now contain tens of thousands of logic cells that allow complete applications to be implemented in programmable logic. Because of this phenomenon, programmable logic has become a separate discipline within Technolution alongside software and electronics. Modern electronics platform development cannot exist without programmable logic.

Programmable logic within Technolution (and in most of Europe) is mainly implemented using VhDL. Technolution actively records its experience with the language and the development tools in a document called “Programmable Logic Design Guide and Best Practices”. This document is a guideline for producing high-quality designs. As the design size increases, we recognised the need for a clear view on the design methodology with a strong focus on verification.

Programmable-logic design

environment

To create VHDL, we use text editors. This way we have ultimate control over the program and its functionality. Visual tools that allow linking graphical symbols generate code that is hard to debug and maintain.

We have several servers dedicated to synthesising VHDL to images that can be transferred to the FPGA devices. We use make files to automate this process. Although most vendors offer graphical design environments, we make little use of them because it is hard to oversee all the options and constraints that where used to synthesise the VHDL to the specific device.

Programmable logic is simulated

before it is synthesised. For these

purposes we use Modelsim,

GHDL and GTKWave (open source).

For synthesis, we use ISE and

Quartus II. For in-circuit debugging,

we use ChipScope and SignalTap.

>> ultimate control

Design philosophy

Over time, we have created our own library with many components that allow us to efficiently create complete designs. The basic matters are taken from the library so we can concentrate on the essential application. To be able to do this, we have developed a rule set and optimised tooling to create extensible designs.

All designs must carefully consider

timing constraints and cross clock

boundaries.

>strong focus on verification

Page 20: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Programmable logic devices

We have created many electronics designs with logic devices like: Xilinx (from smallest to largest FPGA Spartan to Virtex), Altera (Cyclone and Stratix), Lattice and Actel.

Some examples

PCI(e) interface, DDR(2/3), SATA,

SRIO, SDRAM controllers, various

image-processing algorithms (including

real-time rotation without loss of quality),

HD-SDI interfacing, DMA controllers,

multi-gigabit optical-link protocols

(up to 10 Gigabit), complete high-speed

applications and numerous interfaces.

>multi-gigabit optical-link protocols up to

Gigabit

>> complete high-speed applications

Page 21: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

[ 21

/electronics

At Technolution, electronics development means designing and engineering electrical circuits on printed circuit boards. Over the years, we have developed our own unique electronics development methodology. This methodology allows us to design complex analogue, digital and mixed-signal electronics in a predictable fashion, ensuring first-time-right designs.

When new techniques or principles are going to be used or when parasitic elements of the design do matter, a feasibility study can be part of the design process. For example, calculations with Matlab or octave will be performed to verify the principles of operation. When successful simulations with SPICE are performed to simulate the design in more detail and when the results are satisfying, a rapid realistic prototype can be made to verify the design in reality, followed by the final design.

To achieve a total cost of ownership that is as low as possible, the selected EMS is involved from the start of the project (early supplier involvement). During design, the EMS reviews the design with regard to DFT/DFM and other production-related items. The final test strategy during production is also determined in close cooperation with the EMS.

The following activities are part of our design process:

• Design in accordance with the European RoHS (Restriction of Hazardous Substances) and WEEE (Waste of Electrical and Electronic Equipment) directives

• Design of the enclosure

• Worst-case timing verifications

• Worst-case logic-level verifications

• Signal-load verifications

• Signal integrity by design (see corresponding item)

• Power verification

• Thermal analysis

• MTBF calculations

• FMEA (Failure Mode and Effect Analysis)

• FMECA (Failure Mode, Effect and Criticality Analysis)

• Single-fault analysis

• Tests for environmental factors like temperature, humidity, shock and vibration, within the specified limits

• Cost-price verification

• Component-availability verification

• Quality-assurance tests (see corresponding item)

• EMC, UL/CSA/IEC or automotive approval (see corresponding item)

As part of our design process,

standard templates are available

as well as best-practice guides

and checklists.

Page 22: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Signal integrity

When high-speed electrical signals are transferred between electronic components, physical phenomena play tricks that make it hard to interpret the signal correctly, which jeopardises the robustness of the entire system.

The most important of these phenomena are:

• Reflections caused by changes in impedance along the signal path, deforming the shape of the signal and causing it to be misinterpreted. Impedance control over the entire signal path must be addressed.

This is done by determining tuning parameters for pins, traces, vias, PCB material, connectors and terminations.

• Crosstalk occurs when inductive (dI/dt) and capacitive (dU/dt) coupling between PCB traces deform the shape of the signal. Crosstalk calculations are relatively simple and good design rules prevent most problems.

• Attenuation makes signals weaker, causing noise margins to be reduced and leading to possible misinterpretation of the signal. Attenuation increases with distance and frequency. Again, good design rules and simple calculations prevent most problems.

• Timing jitter is introduced by all of the above phenomena, as well as supply ripple and PLLs in the clock path. This decreases the timing margin on received signals. Clock generation and decoupling must be carefully designed to minimise this jitter.

Experience has taught us that a good set of design rules is the basis for a solid high-speed design, when necessary followed by verification through simulation of critical signals during pre-layout and post-layout.

Parameters are verified using simulation with IBIS and (encrypted) SPICE and S-parameter models. Other tools are used for PCB stack-up and trace-width calculations.

Measurements will finally verify

signal integrity when the actual

prototype is available (measurement

probes are incorporated in the

verification models).

In specific cases, crosstalk and

signal-integrity calculations are

performed with the help of 3D

field-solving techniques.

The methodology described above enables us to design signal paths of up to 10 Gigabits per second using ordinary FR4 PCB material. With the use of low-er PCB materials, even higher speeds can be achieved.

>tests are used tot find weak spots in the design

Page 23: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

[ 23

Quality-assurance tests

Besides tests within the specified limits, we can also perform additional quality-assurance tests. These tests include:

• Design margin optimisation by means of hALT techniques:

The goal of these optimisations is to increase product lifetime as much as possible. By varying temperature and/or voltages outside the specified ranges, we try to find parts of the design that fail. When a failure occurs, it is analysed and if possible, the design is improved. This will increase the expected lifetime of the design.

EMC, UL/CSA/IEC or

automotive approval

We have a core competence in embedding UL/CSA/IEC directives in our designs. The precautions required to meet the directives are taken into account as an integral part of the design process. We also gather or create the evidence (e.g. single-fault analysis) required by the certifying body. We also develop the specific test equipment necessary for the certifying body to be able to perform tests. We have experience in a broad range of directives for the industrial, medical and automotive industries.

To automate these tests, we have developed our own Electronics Margin Optimisation Test Environment (EMOTE). Here, facilities will be provided to adjust the local power-supply voltages by means of an analogue voltage. With the help of an ADC/DAC interface in a PC, the local voltages can be adjusted and measured.

At the same time, the ambient temperature is controlled by the same PC. An automated set of scripted tests is performed automatically over a broad range of combinations of local voltages and ambient temperatures. The test results are logged and will be analysed afterwards. Finally, the test results are analysed and if necessary, improvements will be implemented in the design.

• highly Accelerated Life Tests (hALT):

These tests are used to find weak spots in the design, including mechanical weaknesses, soldering joints and the mounting of relatively heavy components. Shock and vibration tests and temperature-shock tests are used as part of the HALT process. After each test, the correct operation of the design is verified.

>> measure and adjust

We also have a core competence in testing and problem solving CE-related issues. We have assisted many companies to improve their designs to meet the criteria for the CE mark. It goes without saying that all of our electronics projects benefit from this knowledge.

Page 24: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Electronics design environments

Principle of operation verification : OctaveCircuit simulation : SPICE and vendor-specific toolsDesign capture and analysis : eProduct Designer by Mentor GraphicsLayout & signal integrity : Expedition PCB Pinnacle by Mentor Graphics

Measurement equipment

Even the best-calculated and most-simulated electronics designs need verification in the end. In order to be able to perform these verifications, we need measurement equipment that is suitable for the high-speed designs we create. Our main digital oscilloscope is a ’Le Croy’ SDA-6000 for signals up to 6 GigaHertz (20 GHz sample rate), including an optical to electrical converter and a differential probe with a 7.5 GigaHertz band width. In addition, we have a network analyser.

Microprocessors:

Intel : 80x86, 8051/96,i960, StrongARM

Marvell : Xscale

National Sem./AMD : 4(86) and 5(86) series

Freescale : PowerPC, ColdFire, 68k

NXP : LPC 213x, LPC 229x

Atmel : AVR related

Texas Instruments : TMS320C-series (DSP), MSP430 series

Analogue devices : Blackfin series

Cirrus, NetSilicon : ARM 7, ARM 9

Xilinx : PowerPC, Microblaze

Altera : NIOS, NIOS II

>even the best electronics designs need verification

Page 25: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

[ 25

Parallel and serial buses

Buses are a vital means of high-speed transport between electronic components. Traditionally, these buses are parallel interconnects, each transferring a single word per cycle. When more and more data needs to be transferred, the bus is increased in width from 8 bit in the distant past to 64 bit in recent PCs. Problems that arise when the width and the speed is increased are crosstalk, skew and layout density. Therefore, more recent busses are serial. Each serial interconnect consists of a balanced pair of signal lines that transfer words much faster than parallel buses can, making speeds of up to 10Gb per lane achievable.

We have made boards and back-

planes for a number of parallel and

serial buses:

• VME64• PCI and Compact-PCI• Multibus II• PC104 and PC104 plus• Serial RapidIO (SRIO)• PCI-X• PCI Express• USB• FireWire• Ethernet• SATA• PCMCIA (PC card)

Analogue-circuit design

For some applications, analogue

circuits are the only option. Factors

like high band width, low-noise

amplifiers, high-accuracy ADCs and

DACs, RF front-ends, power supplies,

motor drivers etc. can be very difficult

to predict without simulation.

We simulate using SPICE models.

When the PCB itself is becoming

a component in the circuit, 3D field-

solving techniques are used to

determine, for example, a SPICE

model of a flex print or to determine

characteristics of patch antennae.

Page 26: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Switching power supplies

We understand the issues that make

switching power supplies work.

This enables us to design active

Power Factor Correction, synchronous

step-down converters, Fly back

converters, forward converters, Ćuk

converters and Buck-Boost converters

for stand-alone applications or to

integrate them into on-board solutions.

We also created high voltage supplies

(more than 4000V).

Optical-data transmission

On a number of occasions, we have realised high-speed optical links for telecommunications and for interconnecting between system parts in complex machines.

Some highlights:

• 850nm multimode lasers - VCSELs (Vertical Cavity Surface Emitting Lasers)

• Pluggable Parallel Fibre Optic Link Transmitters, arrays comprised of 12 VCSELs with associated control, using a 12-fibre parallel MPO/MTP connector (SNAP12) for high-density cabling and easy interconnection

• Transceivers with integrated control and amplifiers (SFF and SFP) with LC connectors

• 1350 and 1550nm single-mode lasers

• Wavelength-tuned single-mode lasers for CDWM (Coarse Division Wavelength Multiplexing), which allow multiple data-channels to be optically multiplexed over one single fibre.

Through integration of programmable logic and switching electronics, new opportunities become available. For example, complex impedance measurement of the load can be implemented by using the switching signals in combination with cross-correlation. No separate injected-measurement signal is required, cross-correlation is implemented in programmable logic together with the control of the switching elements. This results in very accurate complex-impedance measurements. This can only be realised due to the combination of programmable logic and switching electronics.

>very accurate complex-impedance measurements

Page 27: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

[ 27

Page 28: Technolution · the choice of the CPU or FPGA brand is determined only by rational arguments such as price, performance, experience, portability, ease of use, vendor support, availability

Technolution B.V.Zuidelijk Halfrond 1P.O. Box 20132800 BD GOUDA The Netherlands

T +31(0)182 59 40 00E [email protected] www.technolution.eu