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.