ABSTRACT
Gajinder Panesar, Andrew Duller, Alan H. Gray and Daniel Towner
picoChip Designs Limited Bath, UK {gajinder.panesar, andy.duller, alan.gray, daniel.towner}@picochip.com
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
11.2 Overview of picoArray Architecture . . . . . . . . . . . . . . . 371
11.2.1 Basic Processor Architecture . . . . . . . . . . . . . . 371
11.2.2 Communications Interconnect . . . . . . . . . . . . . . 373
11.2.3 Peripherals and Hardware Functional Accelerators . . 373
11.2.3.1 Host Interface . . . . . . . . . . . . . . . . . 373
11.2.3.2 Memory Interface . . . . . . . . . . . . . . 374
11.2.3.3 Asynchronous Data/Inter picoArray Interfaces 374
11.2.3.4 Hardware Functional Accelerators . . . . . 374
11.3 Tool Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
11.3.1 picoVhdl Parser (Analyzer, Elaborator, Assembler) . . 376
11.3.2 C Compiler . . . . . . . . . . . . . . . . . . . . . . . . 376
11.3.3 Design Simulation . . . . . . . . . . . . . . . . . . . . 378
11.3.3.1 Behavioral Simulation Instance . . . . . . . 379
11.3.4 Design Partitioning for Multiple Devices . . . . . . . . 381
11.3.5 Place and Switch . . . . . . . . . . . . . . . . . . . . . 381
11.3.6 Debugging . . . . . . . . . . . . . . . . . . . . . . . . 381
11.4 picoArray Debug and Analysis . . . . . . . . . . . . . . . . . . 381
11.4.1 Language Features . . . . . . . . . . . . . . . . . . . . 382
11.4.2 Static Analysis . . . . . . . . . . . . . . . . . . . . . . 383
11.4.3 Design Browser . . . . . . . . . . . . . . . . . . . . . . 383
11.4.4 Scripting . . . . . . . . . . . . . . . . . . . . . . . . . 385
11.4.5 Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
11.4.6 FileIO . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
11.5 Hardening Process in Practice . . . . . . . . . . . . . . . . . . . 388
11.5.1 Viterbi Decoder Hardening . . . . . . . . . . . . . . . 389
11.6 Design Example . . . . . . . . . . . . . . . . . . . . . . . . . . 392
11.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
In a field where no single standard exists, wireless communications systems are typically designed using a mixture of DSPs, FPGAs and custom ASICs, resulting in systems that are awkwardly parallel in nature. Due to the fluid nature of standards, it is very costly to enter the market with a custom ASIC solution. What is required is a scalable, programmable solution which can be used in most, if not all, areas. To this end picoChip created the picoArrayTM and a rich toolset.