• 沒有找到結果。

For SOC

N/A
N/A
Protected

Academic year: 2022

Share "For SOC"

Copied!
4
0
0

加載中.... (立即查看全文)

全文

(1)

A System Level IP Integration Methodology For Fast SOC Design

M. Bocchi, C. Brunelli', C. De Bartolomeis, L. Magagni, F. Campi ARCES - University of Bologna, Bologna, Italy

*Tampere University of Technolow, Tampere, Finland

Email: (mbocchi, cdebartolomeis, lmagagni, fcampi)@deis.unibo.it,

claudio.2.brunelli@tut,fi

Abstract

In the system-on-chip (SOC) era, the growing number of functionalities included on a single chip requires the de- velopment of new design methodologies to keep the design complexity under control. Intellectual property reuse has been commonly employed as

a

technique to address this problem, but a new system-level approach is needed to inte- grate IP-Reuse methodology in the designpow, in order to speed up the designer's productivity

In this papec a SOC design plarform is proposed as a solution to this problem, pmviding a library o f I P reusable blocks and a high level tool for SOC design development.

An IP library based on AMBA bus architecture was built, featuring a collection of devices with homogeneous inter- faces described with VHDL language constructs that en- able hardware configurabiliiy A system-level assembler (SL4) was then developed to provide a hardware con$gu- ration tool and a suite of utilities to support the designer work. Once defrned the system structure, the SL4 allows automatic generation of the environments used for software development, simulation. synthesis and verification tasks.

1.

Introduction

The outstanding growth of transistor count on a single chip, due to technology scaling, combined to market de- mand for low cost products with increasing functionalities leads to great complexity of SOC designs. The situation gets worse considering time to market requirements and the consequent strong reduction of the available time for devel- oping a new design.

In this scenario IP-Reuse is necessary, hut actual methodologies do not provide automatic support for IP blocks selection and mapping; in this sense, IP-Reuse methodologies should be considered as a starting point for developing new design technologies (DT), in order to avoid manual mapping of IP blocks. As suggested in [I], the key- word of this process is unification of the different DT ar-

eas; an integration between hardware system design area and software and verification areas is suitable for fast sys- tem design and verification.

Platform-based design is a good solution for automahog the SOC design process and IP cores descriptions can be more customizable using virtual cores representing IP com- ponents at a higher level of abstraction [2]. Automatic inte- gration of IP cores has been proposed in [3] to reduce error risks and time invested in SOC design.

Nevertheless, SOC platforms generally take care of hard- ware design aspects, not involving other areas of the design flow, such as logic synthesis, verification and software de- velopment. A valid solution to this second aspect has not yet been proposed and the adjustment of the environments at the hasis of these tasks continue to be a highly time coo- suming process. Configurahle processors can he used for speeding up simulation and development time [4], but also this solution is focused on RTL design improvement.

In this paper we propose a new methodology for au- tomating all the tasks run during the Front-End design of a SOC. Comparing to previous works we have developed an alternative method not only for automating the top-level RTL design composition hut also to face the second class of problems previously described.

2.

System-Level

Design

Methodology

The design of a new SOCs implies the investment of a considerable amount of time, since several activities need to be completed during the front-end design. These activi- ties include the selection of proper cores, their interconnec- tion through a bus architecture, functional verification, logic synthesis and software compilation to produce test vectors.

Our approach was developed considering that a good platform should unify and automate the greater number of these tasks; referring to figure 1, the entire design flow changes at the top level where a set of tools, named Sys- tem Level Assembler (SLA), allows automatic generation of the files needed to describe the SOC and to configure the previously cited tasks.

0-7803-8160-2/03/%17.00 02003 IEEE.

127

(2)

Figure 1. Automatic system level assembling step is included in design flow.

The key element of the entire methodology is the de- scription style of the cores included within the IP library.

Using the capabilities of Hardware Description Languages, in fact, the automation during the hardware selection and interconnection can be achieved changing only some con- stants in the VHDL configuration files. As a consequence, the top level SOC description will not change when config- uring the system, except for the extemal ports; all the com- ponents, in fact, are previously described in a general top level HDL file and their actual insertion will be controlled by several boolean constants contained in a set of config- uration files. This concept is applied hierarchically also to the description of the components, thus obtaining general models instead of fixed hardware functionalities.

Section 3 describes the hardware IP library; once the li- brary has been built, the real platform was obtained devel- oping the SLA, whose features are described in section 4.

3. Hardware IP library

One of the most important parameters conceming the definition of the IP library is the selection of a standard bus architecture to provide an easy and efficient interconnection scheme between the components located on the chip.

The SOC evolution produced the definition of various standards for on-chip communications'; the selection of an appropriate bus architecture is influenced by several factors depending also on the applications the SOC is intended for.

In this work, ARM AMBA [6] specification has been cho- sen to provide an interface between the on-chip devices.

3.1. XiRisc processor

To create a SOC description, at first designers have to choose the IP components to be integrated; this selection

'See [ 5 ] for an updated list of SOC interconnection bus.

could be hard since the functionalities integrated on the chip are strictly dependent on the target application. Above all, defining the processor type is a fundamental issue, Using the platform object of OUT work, the designer can configure the main master of the system starting from XiRisc [7] pro- cessor model. This VHDL model represents a configurable RISC processor enhanced with data and instruction caches.

The basic architecture features a function unit model: each function unit can be inserted into the core simply setting a corresponding boolean constant in a VHDL configuration file. This solution has the big advantage of allowing the pro- cessor model to be tuned on the target application without affecting the external core interface.

XIRISC CORE. The version of XiRisc used in this work is similar to that presented in [7], but features some modifi- cations to improve its performance and reusability. XiRisc supports not only 16-bit and 32-bit datapaths, but also a 32- bit double datapath configuration, for VLIW elaboration.

The System Level Assembler operates on XiRisc allowing the customization of several parameters acting on the pro- cessor architecture. A floating-point unit, called Milk co- processor, can be used as XiRISC coprocessor. l t features a 32-bit data bus, 8 general purpose registers and single preci- sion IEEE 754-1985 computation capabilities. The device can he configured changing many parameters like the in- ternal parallelism and the number of general purpose regis- ters. Various function units, such a s a multiplier, a divider and other DSP-like units can be included in the processor datapath setting only some flags in a VHDL configuration file. Also the intemal parallelism and the number of inter- nal general purpose registers can be controlled hy the user configuration.

The processor configuration task is supported by the SLA, which provides a simplified interface for setting these flags, giving the designer a higher level perspective.

INSTRUCTION AND DATA CACHES. Both cache controllers included in this AHB master, feature high flex- ibility. Memory access policy can be defined at run-time, selecting write-back, write-through or bypass accesses; also cache memories sizes and line widths can be changed main- taining the right size for the tag memories. These features allow the definition of an optimal memory hierarchy, incre- menting the maximum clock speed and lowering the power consumption during memory accesses.

3.2. System Configuration

After XiRisc configuration, the platform generates the entire system structure, including the devices selected by the designer and the logic conceming AMBA AHB/APB communication protocol. Using standard VHDL language constructs, all the bus structure can be redefined affecting bus sizes, address space mapping and the number of mas-

128

(3)

t e n and slaves placed onto the bus. Some parameters are automatically generated by the SLA depending on the set of master and slaves to be included in the SOC. Figure 2 displays the devices connection in a typical system contain- ing all the IP library components.

Figure 2. Structure of the system containing all the IP-blocks.

4.

System-Level Assembler

The SLA is a platfonn which allows a high degree of system configurability and customization, providing a user friendly interface; designers using this platform may over- look the system details, controlling only the system-level parameters. This purpose was obtained combining the con- figurable VHDL model of XiRisc, with a parametric system structure and some tools for automatic generation of simu- lation, synthesis and verification environments.

Figure 3 shows how the SLA works; system specifica- tion is the only information the designer has to provide. At a first stage the SLA links these information to the IP li- brary description, generating a list of devices used in the project and collecting a list of the main system parameters.

The second stage is composed by several generators using the previous lists to create the HDL output, the configura- tion files and the environment for software development and

hardware verification.

Figure 3. System-Level Assembler Structure.

4.1. Configuration Analysis

The conjguraiion analyzer is an interface for the selec- tion of several parameters concerning the global system and the single components. This interface is based on a general description of the IP library contained into the IPLD (IP Li-

b r a y Description) file.

IF'LD format allows the description of system parame- ters, including bus architecture and address space mapping.

In addition, each component has a dedicated section (figure 4) containing the list of parameters which can be set by the user and other information used by the SLA for inserting the component into the design, including the bus type (AHB or APB), the device type (master or slave) and the comments to be displayed by the configuration analyzer. A description of this kind simplifies the insertion of new components into the library, since the SLA can recognize them by inserting a new section for each component in the IPLD file.

component XiRisc ( bus (AHB}

type (master)

parameter include-scc (type = boolean, default = true}

parameter {...}

comment {"This is Xirisc microcantroller model..."}

...

1

Figure 4. Component description within the IPLD file.

The configuration analyzer execution produces an output IPLD file containing, for each parameter, the corresponding value selected by the user.

4.2. Generators

The definition of the devices integrated in the SOC leads to the necessity of creating or changing not only the RTL description hut also the environments for software devel- opment and system verification, which are affected by the parameters fixed during the hardware configuration.

Using the information previously stored in the config- ured IPLD file, several generators have been created for developing the aforesaid environments. Their output con- sists of RTL code, mapping file, device drivers, hardware- dependent routines, simulation and synthesis scripts and test benches. This modular architecture is helpful if new tasks need to be automated, since the environment required by each task is produced by a dedicated generator. The gen- erators commonly use the configured IPLD description and additional information related to the specific environment to set. For example, the generation of simulation and synthesis scripts requires a HDL file list for each component.

129

(4)

Figure 5. Software development and hard- ware verification flow.

Figure 5 shows how software development and hardware verification tasks are structured these areas are not so dif- ferentiate, since software flow output is made up of the test vectors used during verification flow. Software devel- opment takes advantage of a suite derived from the open- source GNU-GCC tool chain and built in a joint-project with “Politecnico di Torino”, as described in 191. The main advantage of the entire flow is that all the design process is supported by automatic tools and, except for the software

1P

library, all the inputs come from the SLA elaboration.

MAPPING FILE. Some parameters fixed during the hardware configuration, also affect the software environ- ment; in particular, linking the object files needs the correct memory locations to be specified in the mappingfile read by the the linker. These value are fixed by the SLA.

DEVICE DRIVERS AND ROUTINES. Several device drivers are created to control system peripherals; also in this case some adjustments may occur consequently to the ad- dress space definition. Other routines, like the ones used for cache initialization are often hardware-dependent and may change with the information provided by the designer.

SIMULATION AND SYNTHESIS SCRIPTS. The SLA generates automatically the scripts for the compilation and logic synthesis; some options can be set to use these script with different simulators and synthesis tools.

TEST BENCHES. Some modifications are required for test benches depending on the peripherals included in the SOC; for some devices an initialization phase should be provided and additional processes have to be inserted to model off-chip devices.

5.

Conclusion

The platform presented in this paper has been used to produce several SOCs targeted to different applications. A first example is a SOC synthesized on an Altera FPGA to

control a prototype chip [IO] for biological cells manipula- tion. Another recent project [ 111 is targeted to signal elaho- ration applications and consists of a SOC fabricated in 0. I 8 pm, 6 Metal, Standard Cell CMOS technology provided by STMicroelectronics.

In conclusion, the developed platform has been tested on real applications and the main improvements are related to the development time reduction. The platform supports automatic generation of the SOC RTL description through the combination of configurable VHDL constructs and an interface to collect all the necessary parameters. The whole methodology supports easy integration of new cores into the IP library; once the library description is modified, the new components will be inserted into the platform and config- ured automatically. Also the creation of the environments used for software development, functional verification and logic synthesis is automated by several generators contained in the platform.

References

[ I ] “Design, 2001 Edition”, ITRS, 2001, http://~ublic.i~s.net/

[2] Y. Onishi,M. Muraoka, M. Utsuki, N. Tsubaki, “VCore- based platform for SoC design”, Design Automation Con- ference, 2003. Proceedings of the ASP-DAC 2003, Asia and

South Pacific, 2003, pp. 453-458.

131 R. Bergamaschi, S. Bhattacharya, R Wagner, C. Fellenz, M. Muhlada, F. White, J.-M. Daveau, and W. Lee, “Au- tomating the design of socs using cores”, Design & Est of Computers, IEEE, Vo1.18, Iss.5, Sept-Oct 2001, pp. 3245.

[4] C. Rowen, “Reducing SoC simulation and development time”, Computer, Vo1.35, Iss. 12, Dec 2002, pp. 29-34.

[5] “Summary of soc interconnection buses”, Silicore Corpora- tion, http://www.silicorenet/uCbusum.htm

161 “Amba specification (rev. 2.0)”, ARM Ltd, 1999, http://www.arm.com.

[7] F. Campi, R. Canegallo, and R. Guerrien, “Ip-reusable 32- bit vliw risc core”, In Proceedings of the 27th European Solid State Circuits Conference, 2001, pp. 456459.

[8] F. Vahid and T. Givargis, “Platform tuning for embedded systems design”, Computer, Vo1.34, Iss.3, Mar 2001, pp.

112-114.

[9] A. L. Rosa, L. Lavagno, and C. Passerone, “A software development tool chain for a reconfigurable processor”, In Proceedings of the international conference on Compilers.

architecture, and synthesis for embedded systems, Atlanta, GA, November 2001.

[IO] G. Medoro, N. Manaresi, M. Tartagni, and R. Guerrieri,

“Cmos-only sensors and manipulators for microorganisms”, IEEE Inrernarional Electron Devices Meeting (IEDM)), Dec 2000, pp. 415418.

[ I l l E Campi, M. Toma, A. Lodi, A. Cappelli, R. Canegallo, and R. Guemeri, “ A vliw processor with reconfigurahle in- struction set for embedded applications”, In ISSCC Digest of TechnicolPapers, Feh 2003, pp. 25lL251.

130

參考文獻

相關文件

Similar objections apply to using a board as a desktop; people will have to get used to using pads and tabs on a desk as an adjunct to computer screens before taking embodied

32.Start from the definition of derivative, then find the tangent line equation.. 46.Find the product of their slopes at there

Full credit if they got (a) wrong but found correct q and integrated correctly using their answer.. Algebra mistakes -1% each, integral mistakes

(12%) Among all planes that are tangent to the surface x 2 yz = 1, are there the ones that are nearest or farthest from the origin?. Find such tangent planes if

[r]

But by definition the true param- eter value θθθ ◦ uniquely solves the population moment condition (11.1), so the probability limit θθθ ∗ must be equal to the true parameter

39) The osmotic pressure of a solution containing 22.7 mg of an unknown protein in 50.0 mL of solution is 2.88 mmHg at 25 °C. Determine the molar mass of the protein.. Use 100°C as

Dublin born Oscar Wilde (1854-1900) established himself as one of the leading lights of the London stage at the end of the nineteenth century?. A poet and prose writer as well, it