31.12.2014 Views

Hardware \in the Loop" Simulation with COSSAP: Closing the ... - ICE

Hardware \in the Loop" Simulation with COSSAP: Closing the ... - ICE

Hardware \in the Loop" Simulation with COSSAP: Closing the ... - ICE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Hardware</strong> <strong>\in</strong> <strong>the</strong> Loop" <strong>Simulation</strong> <strong>with</strong> <strong>COSSAP</strong>:<br />

<strong>Closing</strong> <strong>the</strong> Verication Gap<br />

Olaf J. Joeressen and Heinrich Meyr<br />

Aachen Univ. of Technology (RWTH), Integrated Systems for Signal Processing<br />

ISS-611810, Templergraben 55, 52056 Aachen, Germany<br />

Phone: +49-241-807632, email: joeresse@ert.rwth-aachen.de<br />

Abstract: The paper describes <strong>the</strong> integration of an experimental<br />

test system for digital signal processing hardware<br />

into a data ow driven system simulation environment.<br />

The integration enables running simulations <strong>with</strong><br />

actual hardware components <strong>\in</strong> <strong>the</strong> loop" (hardware modeling).<br />

The implications of data ow driven simulation to<br />

hardware modeling are discussed ascompared tohardware<br />

modeling in conjunction <strong>with</strong> event driven simulation. The<br />

experimental setup is described and results for <strong>the</strong> achieved<br />

simlation speedup are given.<br />

1 Introduction<br />

The integration of telecommunication systems on silicon<br />

is currently facing major challenges due to <strong>the</strong> fast progress<br />

in technology. Today, managing design complexityhasbecome<br />

<strong>the</strong> limiting factor ra<strong>the</strong>r than circuit technology.<br />

Thus advanced design methodologies have become a prerequisite<br />

to be capable of designing VLSI systems which<br />

make ecient use of <strong>the</strong> technological opportunities. As<br />

one consequence, <strong>the</strong> development of heterogeneous simulation<br />

environments (which enable eg mixed mode simulation)<br />

has recently attracted increased attention [1] { [4].<br />

The motivation for this is that heterogeneous simulation<br />

allows to model each part of <strong>the</strong> system under development<br />

in dierent modeling paradigms whichallows to exploit <strong>the</strong><br />

respective advantages [1,5] of <strong>the</strong> paradigms. In particular<br />

one can change <strong>the</strong> modeling paradigm for parts of <strong>the</strong><br />

system, eg to rene <strong>the</strong> model, while maintaining <strong>the</strong> high<br />

level simulation setup as verication environment. This<br />

prevents modeling large parts of a system more than once<br />

for verication purposes which potentially speeds up model<br />

development aswell as simulation runs and thus shortens<br />

development cycles.<br />

As a facet of heterogeneous simulations we discuss in this<br />

paper simulations which employ actual hardware components<br />

as <strong>the</strong>ir own simulation models. In <strong>the</strong> sequel <strong>the</strong> resulting<br />

simulation is called hardware in <strong>the</strong> loop simulation<br />

and <strong>the</strong> modeling technique hardware modeling. <strong>Hardware</strong><br />

modeling was introduced by Widdoes in 1984 [6] buthas<br />

since that time exclusively been discussed in conjunction<br />

<strong>with</strong> event driven simulation. In contrast to this approach,<br />

hardware modeling is discussed in this paper in conjunction<br />

<strong>with</strong> data ow driven simulation since performance<br />

verication of todays communication systems requires extremely<br />

runtime ecient simulation. Experiments have<br />

proven that data ow simulation provides speedups in excess<br />

of one order of magnitude as compared to event driven<br />

simulaton which is predominantly used on lower levels<br />

of abstraction [1,5]. The conjunction of runtime ecient<br />

simulation paradigm and block diagram oriented user interface<br />

can be considered to be <strong>the</strong> well accepted standard<br />

for high level communication system design [7]. The potential<br />

advantages of hardware modeling in conjunction<br />

<strong>with</strong> data ow simulation, eg higher modeling and simulation<br />

eciency, have to<strong>the</strong>bestofourknowledge not been<br />

investigated before.<br />

There are several advantages resulting from <strong>the</strong> use of<br />

digital signal processing hardware whose input is computed<br />

by asimulation program running on a workstation and<br />

whose output is read in by <strong>the</strong> same program:<br />

Au<strong>the</strong>nticity: The piece of hardware is <strong>the</strong> same as in <strong>the</strong><br />

target system. This guarantees perfect au<strong>the</strong>nticity<br />

of <strong>the</strong> simulation results as far as <strong>the</strong> included piece<br />

of hardware is concerned.<br />

Modeling: In case hardware components are purchased<br />

from external suppliers, system development ispossible<br />

even <strong>with</strong> <strong>the</strong> basic black-box knowledge about<br />

<strong>the</strong>se components since this information is sucient<br />

for hardware modeling. This may save a great amount<br />

of time during system development.<br />

WellDenedVerication Environment: <strong>Hardware</strong><br />

components can be veried against <strong>the</strong> specication<br />

inawell dened environment. The data fed to <strong>the</strong><br />

hardware board can ei<strong>the</strong>r be straightforward for debugging<br />

purposes or very complex resulting from a<br />

comprehensive system model implemented in <strong>the</strong> simulation<br />

system. Contrary to eld tests in noisy<br />

surroundings <strong>the</strong> verication stimuli can be reproduced<br />

exactly and thus allows to compare simulation<br />

results for dierent solutions.<br />

<strong>Simulation</strong> Speed-Up: In many cases, <strong>the</strong> time consumed<br />

when simulating <strong>the</strong> system by using components<br />

of <strong>the</strong> real hardware will be less as compared<br />

to a simulation performed completely on <strong>the</strong> host<br />

computer.<br />

The paper describes <strong>the</strong> integration of an experimental<br />

test system for digital signal processing hardware into<br />

<strong>the</strong> data ow driven system simulation environment COS-<br />

SAP [8], which in turn enables hardware modeling. The


implications and restrictions of data ow driven simulations<br />

in conjunction <strong>with</strong> hardware modeling are discussed.<br />

The advantages are claried as compared to hardware<br />

modeling in conjunction <strong>with</strong> event driven simulaton,<br />

which is already supported by commercially available<br />

products [9,10].<br />

S<br />

Clock<br />

Event<br />

Time<br />

2 <strong>Hardware</strong> Modeling and Data Flow <strong>Simulation</strong><br />

We will briey introduce <strong>the</strong> concept of a signal in a<br />

data ow driven simulation in this section to prepare <strong>the</strong><br />

ground for a clear discussion of advantages and limitations<br />

of hardware modeling in <strong>the</strong> context of a data ow driven<br />

simulation.<br />

2.1 Signal Paradigms<br />

<strong>Hardware</strong> modeling requires <strong>the</strong> generation of all physical<br />

signals that are required to run <strong>the</strong> hardware controlled<br />

by <strong>the</strong> simulation. Thus <strong>the</strong> clear understanding of <strong>the</strong><br />

meaning of a signal in <strong>the</strong> simulation (<strong>the</strong> signal paradigm)<br />

is a prerequisite for <strong>the</strong> integration of hardware in <strong>the</strong> loop.<br />

A signal paradigm denes<br />

<strong>the</strong> relation of <strong>the</strong> value of a signal to <strong>the</strong> ongoing<br />

(virtual) simulation time.<br />

at which time a simulation model is red to compute<br />

new values of its output signals (module scheduling).<br />

Dierent signal paradigms reect dierent levels of abstraction<br />

of a physical signal which exhibit a value at every<br />

point of time and is thus not generally representable in a<br />

digital computer. In digital system design two important<br />

paradigms are <strong>the</strong> event driven [11] and data ow driven<br />

signal paradigms [12,1]. Table 1 lists <strong>the</strong> basic properties<br />

of <strong>the</strong>se signal paradigms.<br />

Tab. 1: Signal Paradigms<br />

signal signal/time scheduling used<br />

paradigm relation scheme in<br />

event value & time change of an VHDL<br />

driven of change input signal etc.<br />

data ow only sequence all necessary input <strong>COSSAP</strong><br />

driven of values samples available etc.<br />

Event driven simulations are based on <strong>the</strong> idea that<br />

a signal can be described by a sequence of events which<br />

describe a signal change. The event isthus characterized<br />

by<strong>the</strong>newvalue of <strong>the</strong> related signal and <strong>the</strong> time at which<br />

<strong>the</strong> change occurs. A model needs to be red only when an<br />

input signal is changed by suchanevent. The red model<br />

<strong>the</strong>n computes <strong>the</strong> new values of its output signals. The<br />

associated events are inserted into an event table which is<br />

managed by <strong>the</strong> kernel of <strong>the</strong> simulator.<br />

Event driven simulations allow tosimulate circuit behavior<br />

precise enough for chip sign o, including eg analysis<br />

of setup and hold times. On <strong>the</strong> o<strong>the</strong>r hand <strong>the</strong> nature<br />

of <strong>the</strong> paradigm requires that all control signals like clock<br />

Time<br />

Fig. 1: Event driven signal representation<br />

and reset in synchronous designs are explicit since only<br />

<strong>the</strong> association of clock edges and signal values allow to<br />

determine what <strong>the</strong> meaningful data <strong>with</strong> respect to <strong>the</strong><br />

implemented chip function is (see Figure 1).<br />

Data ow simulations, in contrast, do not keep track<br />

of <strong>the</strong> time. Signal are represented merely by sequences<br />

of values. The sequence does not even necessarily have an<br />

interpretation on <strong>the</strong> time axis. The values may equally<br />

well describe for example signals in <strong>the</strong> frequency domain<br />

or asynchronous signals [13]. The models are executed<br />

if all required input values for executing <strong>the</strong> model are<br />

present in <strong>the</strong> input signal buers. The model <strong>the</strong>n computes<br />

output values based on its inputs and places <strong>the</strong>m<br />

in output buers. The simulator consequently does not<br />

handle time. The number of items in signal buers and<br />

<strong>the</strong> information about <strong>the</strong> required number of input values<br />

to execute a model is sucient to execute <strong>the</strong> simulation.<br />

This completely dierent signal paradigm leads to signicant<br />

simulation speedups and provides increased modeling<br />

exibility.<br />

S<br />

Fig. 2: Data ow signal representation<br />

n<br />

Sequence of values<br />

No Time !<br />

In contrast to event driven simulation control signals are<br />

not required to model systems in a data owdriven simulation<br />

since <strong>the</strong> sequence of values is sucient todrivemost<br />

algorithms in digital signal processing. However, whenever<br />

interfacing to real world signals is required an interpretation<br />

over time must be added to <strong>the</strong> data ow signals.<br />

Fur<strong>the</strong>rmore, data ow signals are always generated at a<br />

single source and thus represent unidirectional data ow.<br />

This leads to problems if bidirectional signals or busses are<br />

to be interfaced and would required to represent a bidirectional<br />

signal by three data ow signals (in, out, direction).<br />

We do not discuss interfacing to bidirectional signals in<br />

this report.<br />

2.2 Interfacing to Physical Signals<br />

Physical signals are obviously not directly interfaceable<br />

to a data ow signal since <strong>the</strong>y continuously exhibit a value


at each time instant. Consequently sampling of <strong>the</strong>se signals<br />

is required to interface to <strong>the</strong> simulation. This poses<br />

<strong>the</strong> problem of dening or determining what <strong>the</strong> meaningful<br />

sampling time instants are.<br />

In <strong>the</strong> case of an analog hardware this leads immediately<br />

to real time requirements, appropriate ltering of <strong>the</strong><br />

input data, analog to digital and digital to analog conversion.<br />

Fur<strong>the</strong>rmore buering of <strong>the</strong> digital input and<br />

output signals in FIFOs is required to maintain for example<br />

an equidistant sampling since <strong>the</strong> simulation program<br />

will usually not be able to consume and produce <strong>the</strong> data<br />

at absolute time instants.<br />

Digital hardware usually ei<strong>the</strong>r runs at a xed clock rate<br />

which in turn denes at what time meaningful signal values<br />

at <strong>the</strong> ports are present or establishes explicit handshaking<br />

schemes. Asynchronous interface schemes may require <strong>the</strong><br />

data to be set up in frames <strong>with</strong> clearly dened timing of<br />

<strong>the</strong> data items. However, this timing scheme is usually<br />

dened relative toasystemclock. Consequently, most<br />

interface schemes can be handled <strong>with</strong>out absolute signal<br />

timing at <strong>the</strong> interfaces provided that clock and control<br />

signals are under <strong>the</strong> control of <strong>the</strong> simulation program.<br />

Exceptions are all systems which have internal clock<br />

sources, completely asynchronous components or systems<br />

which contain dynamic storage which loose <strong>the</strong>ir content<br />

if <strong>the</strong> operating speed is below a certain limit. Such devices<br />

can be handled ei<strong>the</strong>r if realtime constraints are met<br />

as discussed above orby means of running an appropriate<br />

stimuli history every time a new output value is to be determined<br />

[14]. As a advantage of <strong>the</strong> latter case multiple<br />

instances of <strong>the</strong> device in a simulation can be handled if<br />

<strong>the</strong> stimuli history is stored for each instance. Clearly,supporting<br />

dynamic components and multiple instances leads<br />

to very complex interfaces <strong>with</strong> high speed memory, programmable<br />

clock sources etc. . However, an important<br />

disadvantage of <strong>the</strong> approach is that <strong>the</strong> length of <strong>the</strong> stimuli<br />

history is naturally limited which was not acceptable<br />

in our case since we wanted to run very long performance<br />

simulations.<br />

2.3 Interface Model Requirements<br />

It is of course desirable to provide a hardware model at<br />

<strong>the</strong> system level to <strong>the</strong> design engineer which resembles<br />

<strong>the</strong> hardware in a form that allows easy integration into<br />

<strong>the</strong> system simulation setup. At best, <strong>the</strong> model interface<br />

would resemble that of a standard simulation model of<br />

similar functionality.<br />

A primitive model 1 in <strong>COSSAP</strong> is a model written in a<br />

programming language likeCwhich communicates via well<br />

dened interface functions to o<strong>the</strong>r models. There are no<br />

restrictions on what a primitive model may compute. Consequently,<br />

<strong>the</strong> natural way tointegrate a facility for hardware<br />

modeling in <strong>COSSAP</strong> is via a primitive model which<br />

is tailored to steer a specic hardware interface, this model<br />

is called <strong>the</strong> interface model in <strong>the</strong> sequel. The hardware<br />

interface should be as versatile as possible and capable of<br />

steering various hardware components. We consider <strong>the</strong><br />

1 The o<strong>the</strong>r kind of models which can be specied are <strong>the</strong> so called<br />

hierarchical models which <strong>the</strong>mself maycontain o<strong>the</strong>r hierarchical<br />

models and primitive models. These modeling styles are in o<strong>the</strong>r contexts<br />

usually denoted as behavioral and structural model respectively.<br />

hardware interface for <strong>the</strong> discussion of <strong>the</strong> interface model<br />

to be a simple parallel interface <strong>with</strong> N pins. Each<br />

pin of <strong>the</strong> interface can be programmed as input or output<br />

signal.<br />

An obvious modeling possibility for <strong>the</strong> interface model<br />

is of course a model <strong>with</strong> N inputs and outputs and<br />

appropriate interface direction parameters. However, such<br />

amodulewould be very cumbersome to use since explicit<br />

mapping of data ow values to single interface bits would<br />

be required. This would require <strong>the</strong> use of additional models<br />

and would probably result in complex hierarchical models.<br />

In order to be easy and convenient to use, <strong>the</strong> interface<br />

model should comprise <strong>the</strong> following functionality :<br />

Universality: The interface model should be parameterizable<br />

to serve arbitrary hardware hooked on <strong>the</strong><br />

hardware interface.<br />

Initialization: The interface model should provide a possibility<br />

to initialize <strong>the</strong> hardware and <strong>the</strong> hardware<br />

interface, since explicit signal generation for initialization<br />

in <strong>the</strong> simulation setup can be very awkward.<br />

Signal Hiding: The interface model should be capable of<br />

applying simple clock systems, and constant signal<br />

values to <strong>the</strong> hardware <strong>with</strong>out requiring equivalent<br />

data ow signals, since <strong>the</strong>se signals are often not<br />

required for <strong>the</strong> remaining simulation.<br />

Signal Mapping: The interface model should interface<br />

directly to data ow signals, and perform a mapping<br />

of <strong>the</strong>se signals to <strong>the</strong> wires of <strong>the</strong> hardware interface.<br />

This is referred to as signal mapping in <strong>the</strong> sequel and<br />

avoids to explicitly map a bit interpretation of a data<br />

ow signal to single bits at <strong>the</strong> hardware interface by<br />

means of o<strong>the</strong>r primitive models.<br />

Generating clock signals of course implies that <strong>the</strong> hardware<br />

hooked upon <strong>the</strong> hardware interface is clocked synchronous<br />

hardware <strong>with</strong> static storage elements, but a<br />

capability to hide any type of hardware control signals<br />

would be very dicult to implement and <strong>the</strong> general specication<br />

of such control signals is as well dicult.<br />

To be able to perform a correct signal mapping, an interpretation<br />

of numeric data ow signals in terms of an equivalent<br />

bit vector representation must be specied. This<br />

may comprise simple mappings of <strong>the</strong> internal representation<br />

of <strong>the</strong> host computer to bits at <strong>the</strong> hardware interface<br />

(which maybemachine dependent), but for output<br />

signals it would be convenient to be able to specify interpretations,<br />

eg whe<strong>the</strong>r a hardware signal is to be interpreted<br />

as a sign bit.<br />

3 Asample Solution<br />

We developed a primitive model for <strong>the</strong> system simulator<br />

<strong>COSSAP</strong> and a proprietary hardware interface at our<br />

institute which allows us to model hardware mainly for<br />

systems and ASICs developed in our institute.


<strong>COSSAP</strong><br />

<strong>COSSAP</strong><br />

3.1 ISS Test{<strong>Hardware</strong><br />

As was elaborated in section 2.2, <strong>the</strong> complexity of<strong>the</strong><br />

interface hardware is determined to a large degree by <strong>the</strong><br />

hardware which is to be included into <strong>the</strong> simulation setup.<br />

The interface complexitymay range from simple programmable<br />

parallel interface to complex hardware which<br />

may be required to satisfy absolute timing requirements.<br />

E<strong>the</strong>rnet<br />

Host Computer<br />

ISS-Testsystem<br />

congured to be interpreted as positive binary numbers or<br />

signedintwo's complement representation. Figure 4 shows<br />

<strong>the</strong> principal functionality of <strong>the</strong> model.<br />

In-Ports<br />

Configuration Data: Mapping, Clock Speed, ..<br />

Inputs Constants Clocking Outputs<br />

Mapping<br />

.<br />

.<br />

.<br />

.<br />

.<br />

Mapping<br />

Pins<br />

Device<br />

Adaptor<br />

Pins<br />

.<br />

.<br />

Mapping<br />

Out-Ports<br />

Host Interface<br />

Versatile <strong>COSSAP</strong> Module + Interface +<br />

Fig. 3: ISS Test <strong>Hardware</strong><br />

Device Adaptor<br />

Device under Test<br />

Standard Test Environment<br />

The test hardware at our institute was developed for low<br />

cost testing of fully synchronous digital hardware. The test<br />

hardware consists of 160 programmable interface pins, a<br />

programmable clock generator which provides three clock<br />

signals of up to 50MHz frequency and a programmable cycle<br />

counter which allows to apply clock bursts of up to 2 24<br />

cycles to <strong>the</strong> device under test. During clock bursts nei<strong>the</strong>r<br />

changing input signals is possible nor reading output signals.<br />

Each device under test is tted <strong>with</strong> a unique device<br />

adaptor to <strong>the</strong> test hardware, clock andpower is hardwired<br />

this way which greatly reduces complexity of <strong>the</strong> test<br />

hardware. The test hardware is steered by a simple interface<br />

in <strong>the</strong> host computer. Figure 3 gives an overview<br />

of <strong>the</strong> complete setup. Fur<strong>the</strong>rmore a program which is<br />

capable of running stimuli in a proprietary format on <strong>the</strong><br />

hardware interface was developed. This capability isused<br />

for automatic testing and initialization of <strong>the</strong> hardware<br />

during <strong>the</strong> initialization phase of a simulation. There are<br />

no FIFOs attached to <strong>the</strong> pins and <strong>the</strong> hardware interface<br />

can <strong>the</strong>refore not satisfy absolute timing constraints.<br />

However, tests at full speed are possible if <strong>the</strong> attached<br />

hardware does not require input signal changes during <strong>the</strong><br />

test. This is often <strong>the</strong> case if ASICs contain circuitry for<br />

built in self test [15]. The boards and ASICs developed in<br />

our laboratory are indeed tested at full speed during <strong>the</strong><br />

initialization phase.<br />

3.2 AVersatile Interface Model<br />

Aversatile <strong>COSSAP</strong> module has been developed which<br />

is congurable for any device adaptor. The module takes<br />

a data set for module conguration [16]. <strong>Hardware</strong> initialization<br />

is performed in <strong>the</strong> aforementioned manner. The<br />

model is capable of applying constants and simple clock<br />

systems. The data ow signals which are connected to<br />

<strong>the</strong> model must be of type integer, output signals can be<br />

HiSL_cossapsoft.id<br />

ISS-<br />

Testsystem<br />

Initialization Data:<br />

Reset, Initial Test, ..<br />

Fig. 4: Structure of <strong>the</strong> <strong>COSSAP</strong> Module<br />

The data set which congures <strong>the</strong> model has four parts<br />

which establish input mapping, output mapping and interpretation,<br />

constant signal specication and clock specication.<br />

A mapping specication establishes a mapping<br />

between a data ow signal (of type integer) at port number<br />

N to one or more bits of <strong>the</strong> hardware interface. The<br />

number of module ports is not xed and <strong>the</strong> ports consequently<br />

have no names. They are identied by a unique<br />

port number which represents <strong>the</strong> sequence in which signals<br />

were connected to <strong>the</strong> model. This is <strong>the</strong> number<br />

which is referred to in <strong>the</strong> data set. The interpretation<br />

of <strong>the</strong> mapping records begins <strong>with</strong> <strong>the</strong> least signicant<br />

bit (LSB) and proceeds towards <strong>the</strong> most signicant bit<br />

(MSB) if more than one record establishes <strong>the</strong> mapping.<br />

A sample mapping and its specication records for input<br />

ports is shown in Figure 5.<br />

This approach allows arbitrary mappings in a concise<br />

form to be specied, since we do not need to map every<br />

single bit by a separate data set entry as long as <strong>the</strong>y are<br />

to be mapped on sequential pins of <strong>the</strong> hardware interface.<br />

At <strong>the</strong> output side of <strong>the</strong> model an additional entry in <strong>the</strong><br />

data set species whe<strong>the</strong>r a signed or unsigned representation<br />

is to be assumed. Clock specication is done <strong>with</strong><br />

<strong>the</strong> parameters frequency, phase, duty cycle and cycles per<br />

sample. The parameter cycles per sample allows to interface<br />

eciently to hardware which exchanges only every N<br />

clock cycles meaningful data. Since we can not guarantee<br />

absolute timing at <strong>the</strong> hardware, <strong>the</strong> clock specication is<br />

interpreted in our case more or less as a sequence of signal<br />

changes ra<strong>the</strong>r than running a clock system <strong>with</strong> <strong>the</strong><br />

specied timing between sampling <strong>the</strong> hardware signals.<br />

3.3 Performance<br />

In many cases, <strong>the</strong> time consumed when simulating <strong>the</strong><br />

system by using components of <strong>the</strong> real hardware will be<br />

less as compared to a simulation performed completely on<br />

<strong>the</strong> host computer. Overhead is introduced mainly for


Interface Model<br />

IS2 - Interface <strong>Hardware</strong><br />

LSB 0<br />

3<br />

Inport 1<br />

1<br />

2<br />

10<br />

11<br />

1<br />

2<br />

1 1<br />

Data Flow Signals<br />

LSB<br />

0<br />

1<br />

LSB 0<br />

15<br />

inmap_example.id<br />

Inport 2<br />

Inport 3<br />

3<br />

4<br />

5<br />

8<br />

18<br />

12<br />

21<br />

26<br />

Data Record Sequence<br />

Input Port-Number<br />

First Sequential Pin<br />

Last Sequential Pin<br />

3<br />

4<br />

5<br />

6<br />

1<br />

1<br />

2<br />

5<br />

10<br />

15<br />

20<br />

25<br />

26 26<br />

1 2<br />

10 3<br />

11 4<br />

Pins<br />

1 2 3 4 5 6<br />

3 3 3<br />

5 17 21<br />

8 12 26<br />

Fig. 5: Input mapping example<br />

Device<br />

transferring data between host and hardware and for mapping<br />

signals of <strong>the</strong> simulator to actual hardware pins.<br />

In <strong>the</strong> following we discuss as an example <strong>the</strong> simulation<br />

of <strong>the</strong> experimental fully digital 100MBit/s receiver DI-<br />

RECS [13], which consists of 6 ASICs. Figure 6 shows <strong>the</strong><br />

hierarchical software model of <strong>the</strong> receiver which consists<br />

of several primitive models. These models reproduce exactly<br />

<strong>the</strong> behavior of <strong>the</strong> chip set and consume over 92% of<br />

<strong>the</strong> simulation runtime in conjunction <strong>with</strong> a simple noisy<br />

channel and <strong>the</strong> appropriate signal source.<br />

Fig. 7: <strong>COSSAP</strong> <strong>Hardware</strong> Model of DIRECS<br />

complex component <strong>the</strong> rst step is eightfold serial to parallel<br />

conversion in <strong>the</strong> module S2PI. The system clock is<br />

generated in <strong>the</strong> block THW_LOOP thus no explicit clock signal<br />

is required in <strong>the</strong> model of Figure 7. A constant signal<br />

is applied <strong>with</strong> a data set entry while o<strong>the</strong>rs were fed<br />

into <strong>the</strong> hardware through <strong>the</strong> constant sources CONSTI because<br />

<strong>the</strong>ir values were frequently changed. They could be<br />

parameterized at <strong>the</strong> top level simulation setup this way.<br />

Figure 7 shows several additional outputs of <strong>the</strong> receiver<br />

board which allow observation of some internal signals.<br />

By runtime proling of our software, it was found that<br />

<strong>the</strong> bandwidth of <strong>the</strong> host interface limits <strong>the</strong> simulation<br />

throughput of our example. However, even in <strong>the</strong> small<br />

simulation setup described above, <strong>the</strong> interface software<br />

to our testing environment consumed only 20% of <strong>the</strong> simulation<br />

runtime which shows that optimization of this<br />

interface would not result in large speedups. After all, <strong>the</strong><br />

verication of <strong>the</strong> receiver was made possible down to bit<br />

error rates of 10 ;7 due to a tenfold increase in simulation<br />

eciency as compared to <strong>the</strong> software models of Figure 6.<br />

The resulting number of 250 million clock cycles (17 Gigabits<br />

of data) shows clearly why playing stimuli historys<br />

was not a viable solution for our application. A clock cycle<br />

on <strong>the</strong> hardware <strong>with</strong> 93 bits interfacing takes 400s on a<br />

SPARC Server 4/330.<br />

Fig. 6: Hierarchical <strong>COSSAP</strong> Model of DIRECS<br />

It is worth mentioning here that <strong>the</strong> model in Figures<br />

6 has dierent data rates at inputs and outputs since a<br />

digital receiver usually requires oversampling of <strong>the</strong> input<br />

signals. In <strong>the</strong> case of DIRECS, fourfold oversampling toge<strong>the</strong>r<br />

<strong>with</strong> certain properties of <strong>the</strong> employed transmission<br />

scheme lead to an eightfold rate reduction from inputs<br />

to outputs. In real hardware, parallel processing was required<br />

to achieve <strong>the</strong> extreme data rate and eight input<br />

samples are processed in parallel. The hardware model<br />

thus comprises some additional software blocks. Figure 7<br />

shows <strong>the</strong> <strong>COSSAP</strong> conguration for <strong>the</strong> hardware model.<br />

The block THW_LOOP is <strong>the</strong> versatile interface model .<br />

Since <strong>the</strong> hardware has eight parallel inputs for each<br />

4 Commercial Solutions<br />

To <strong>the</strong> best of our knowledge hardware modelers are<br />

available from Logic Modeling Inc. only [9] { [17]. They<br />

have beendevelopedtowork well in <strong>the</strong> event driven context<br />

but integration intoadataowcontext would be possible<br />

as well. While data ow simulations do not need timing<br />

information, event driven simulations do (see section<br />

2.1). In commercial hardware modelers timing is added in<br />

software by means of timing models ra<strong>the</strong>r than by measuring<br />

<strong>the</strong> response of <strong>the</strong> device which would require much<br />

more costly interface hardware. Thus <strong>the</strong> accuracy of <strong>the</strong><br />

timing model underlies <strong>the</strong> same restrictions as in standard<br />

software models. In commercial hardware modelers


chips are tted on standard device adaptors ra<strong>the</strong>r than<br />

device specic ones, which are needed in our case. This<br />

increases <strong>the</strong> interface complexity sincepower and ground<br />

pins need to be congurable, but eases <strong>the</strong> setup. However,<br />

for complete systems ra<strong>the</strong>r than single chips special<br />

device adaptors are still required. The hardware modelers<br />

can handle bidirectional as well as unidirectional device<br />

ports. They are stand alone e<strong>the</strong>rnet devices and some<br />

communication overhead is <strong>the</strong> price for obtaining a hardware<br />

modeler which is independent of <strong>the</strong> simulation workstation<br />

architecture. Current product information led to<br />

<strong>the</strong> estimate that no simulation speedup would have been<br />

possible in <strong>the</strong> simulation of DIRECS. Current pricing for<br />

hardware modelers is well above US$ 100.000 and development<br />

kits to integrate <strong>the</strong> hardware modelers into existing<br />

simulation environments are very expensive too.<br />

5 Conclusion<br />

While hardware modeling in copnjunction <strong>with</strong> eventdriven<br />

simulation is a commercial reality, our experimental<br />

setup shows that hardware modeling is possible in conjunction<br />

<strong>with</strong> data ow driven simulations. This is due to<br />

<strong>the</strong> fact that we deal <strong>with</strong> <strong>the</strong> sequence of meaningful values<br />

ra<strong>the</strong>r than timed signals. Fur<strong>the</strong>rmore, <strong>the</strong> class of<br />

hardware components which can be handled was restricted<br />

to fully synchronous components <strong>with</strong> static memory<br />

to avoid recording and playing stimuli historys. We did<br />

not support bidirectional ports. These restrictions reect<br />

our application domain which is in <strong>the</strong> loop simulation<br />

of digital signal processing ASICs for performance verication.<br />

An experimental hardware modeling solution for<br />

<strong>the</strong> simulation system <strong>COSSAP</strong> was developed in conjunction<br />

<strong>with</strong> a proprietary test environment forintegrated<br />

circuits and VLSI systems. This solution provides <strong>the</strong> full<br />

functionality for hardware modeling of <strong>the</strong> envisaged class<br />

of hardware components at high simulation speed and low<br />

cost. It turned out during runtime proling that in our implementation<br />

<strong>the</strong> small wordlength of <strong>the</strong> hostinterface is<br />

<strong>the</strong> remaining bottleneck but <strong>the</strong> interface model provides<br />

already a throughput at which simple additional software<br />

models are <strong>the</strong> speed limiting factor.<br />

Bibliography<br />

[1] P. Zepter and K. ten Hagen, \Using VHDL <strong>with</strong> stream<br />

driven simulators for digital signal processing applications,"<br />

in EURO-VHDL'91 Proceedings, (Stockholm, Sweden),<br />

pp. 196{203, September 8-11 1991.<br />

[2] J. Buck, S. Ha, E. A. Lee, and D. G. Messerschmitt, \Ptolemy:<br />

A platform for heterogenous simulation and prototyping,"<br />

in Proc. 1991 European <strong>Simulation</strong> Conf., (Copenhagen,<br />

Denmark), June 1991.<br />

[3] M. Pankert, S. Ritz, and H. Meyr, \Integration of digital<br />

signal processing hardware into a system level simulation<br />

environment," in European <strong>Simulation</strong> Multiconference,<br />

(York, United Kingdom), pp. 394{398, SCS International,<br />

1992.<br />

[4] \Simbus simulation backplane." Product Information, ViewLogic<br />

Inc., 1993.<br />

[5] G. Jennings, \A case against event driven simulation of<br />

digital system design," in The 24th Annual <strong>Simulation</strong><br />

Symposium (A. H. Rutan, ed.), (Los Alamitos, California),<br />

pp. 170{176, IEEE Computer Society Press, April 1991.<br />

[6] L. Widdoes and W. Harding, \CAE station uses real<br />

chips to simulate VLSI-based systems," Electronic Design,<br />

vol. 32, pp. 167{76, March 1984.<br />

[7] K. S. Shanmugan, \An update on software packages for simulation<br />

of communication systems (Links)," IEEE JournalonSel.Areas<br />

in Commun., vol. 6, pp. 5{12, January<br />

1988.<br />

[8] J. Kunkel, \<strong>COSSAP</strong>: A stream driven simulator," in<br />

IEEE International Workshop on Microelectronics in<br />

Communications, Interlaken, Switzerland, March 1991.<br />

[9] M. Donlin, \Accurate device models makes PCB simulation<br />

a reality," Computer Design, pp. 71{76, July 1991.<br />

Penn Well Publishing Co.<br />

[10] N. Kelly and H. Stump, \Software architecture of universal<br />

hardware modeler," in Proceedings of <strong>the</strong> European Design<br />

Automation Conference, (Glasgow, UK), pp. 573{7,<br />

IEEE/EDAC, March 1990.<br />

[11] R. M. Fujimoto, \Parallel Discrete Event <strong>Simulation</strong>,"<br />

Communications of <strong>the</strong> ACM, vol. 33, pp. 31{53, Oct.<br />

1990. 98 ref.<br />

[12] E. A. Lee and D. G. Messerschmitt, \Synchronous data<br />

ow," Proceedings of <strong>the</strong> IEEE, vol. 75, pp. 1235{1245,<br />

September 1987.<br />

[13] O. J. Joeressen, M. Oerder, R. Serra, and H. Meyr, \DI-<br />

RECS: System design of a 100Mbit/s digital receiver," IEE<br />

Proceedings-G,vol. 139, pp. 222{230, April 1992.<br />

[14] L. Widdoes and H. Stump, \<strong>Hardware</strong> modeling," VLSI<br />

Systems Design, vol. 9, pp. 30{8, July 1988.<br />

[15] R. Serra and H. Meyr, \Geschwindigkeitsoptimierter Systemselbsttest<br />

fur schnelle digitale Schaltkreise," in GME-<br />

Fachbericht 8, (Baden-Baden), pp. 253{258, vde-verlag,<br />

Berlin Oenbach, March, 4.-6. 1991.<br />

[16] <strong>COSSAP</strong> Manual, Volume 1-5, Synopsys Inc., Herzogenrath,<br />

Germany.<br />

[17] H. Stump, \<strong>Hardware</strong>modellierung { ein wesentlicher Bestandteil<br />

der Systemsimulation," Elektronik, no. 21, 1990.<br />

Franzis Verlag, Munchen, (in german).<br />

[18] D. Giles, K. Bowden, M. Haney, and G. Maston, \Maintaining<br />

simulation accuracy through physical device models,"<br />

in Proceedings of <strong>the</strong> International Test Conference 1985,<br />

(Philadelphia, PA), pp. 692{695, IEEE, Nov 1985.<br />

[19] A. Read and H. Stump, \<strong>Hardware</strong> modeling in ASIC prototype<br />

verication," in ATE and Instrumentation Conference<br />

West, (Anaheim, CA), pp. 76{81, Jan 1989.<br />

[20] H. Stump, \A designer's guide to simulation models,"<br />

Computer Design, vol. 29, pp. 91{2, Jan 1990.<br />

[21] U. Dersch and P. Rauber, \Modellierung und <strong>Simulation</strong><br />

des Mobilfunkkanals," ASCOM Technische Mitteilungen,<br />

no. 2, pp. 9{14, 1991. (in german).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!