Presentation is loading. Please wait.

Presentation is loading. Please wait.

Developing software and hardware in parallel Vladimir Rubanov ISP RAS.

Similar presentations


Presentation on theme: "Developing software and hardware in parallel Vladimir Rubanov ISP RAS."— Presentation transcript:

1 Developing software and hardware in parallel Vladimir Rubanov ISP RAS

2 What our customer develops Application Specific Programmable Digital Signal Processing (ASPDSP) Solution A System on Chip (SoC) hardware system ASPDSP Core MicroDSP Core MicroDSP Core User defined application specific hardware accelerators To other MicroDSPs

3 Agenda Project problems, tasks and targets Production process stages overview Organizing fast tools updates Selected screenshots

4 What we develop Cycle and Bit true Instruction Set Simulator (ISS) Macro Assembler Linker Library Manager Disassembler C Compiler Integrated Development Environment (IDE) with full visual debugging support (similar to MS Visual Studio) Cross development tools (tools run on Windows or UNIX platform simulating and debugging target microprocessor environment applications and generating final binaries for it):

5 Why developing in parallel? Customers do not know exactly what hardware they finally need Initial specifications are quite raw Requirements are being constantly changed during development process At the same time… – dynamic changes in hardware specifications should be quickly reflected in software tools for further changes understanding (i.e. customers need to have working software tools to understand what they need to change more in hardware)

6 Production process (Overview) Initial Stage Update Cycle Release HDL and Tools Tools Cores and Prototypes Initial requirements raw draft Intermediate Specifications and Tools Release Stage

7 Production process (Initial Stage) Input – raw requirements draft (general architecture) Activities –Initial general customer needs understanding –Resolving rough conflicts in customer requirements –Setting up collaboration style rules –Creating new and customizing existing ISPRAS universal tool Cores for customer specifics Result –Non conflicting more detailed requirements –Software Tools Prototypes based on the Cores

8 Production process (Initial Stage) Specification Updates and Tools Features Requests Specification Bugs and Other Ideas Initial requirements raw draft More detailed Hardware Specification Customized Tool Cores and Software Prototypes Software Tools Core Development (ISP RAS) Hardware Specification Development (Customer)

9 Constructing a Tool Universal tool Core (ready at the very beginning) Customized tool Core (constructed at the Initial Stage) Automatically generated sources (produced at each Update Cycle) Manually coded sources (done at each Update Cycle)

10 Production process (Update Cycle) Minor Specification Updates and Tools Features Requests Specification Bugs and Other Ideas Software Tools Development (ISP RAS) Sample Applications and Benchmarks development using the Tools (Customer) Updated Requirements Specification Updated Software Tools Further changes understanding (Customer) Software Tools Requirements Specification Customized Tool Cores

11 Production process (Release Stage) Release HDL Package Release Software Package Documentation (ISP RAS) Software vs. Hardware automatic co-verification HDL Development (Customer) Deep Testing (ISP RAS) Intermediate Tools Final Hardware Specification

12 Organizing Fast Update Cycle Software Tools Development (ISP RAS) Updated Software Tools Updated Requirements Specification Customized Tool Cores Key components of the Update Cycle Internal Productivity Tools Tool Cores Semi-automatic Source Generators

13 Organizing Fast Update Cycle Updated Software Tools Customized Tool Cores Source Generators Manual code updates Updated Requirements Specification Source Skeletons SQL Database Converting to internal format using productivity tools

14 Update Cycle: Understanding Specification Changes Problem –Specification changes are not formally defined by customer –Specifications contain bugs and misprints –We have to understand by ourselves what have changed Solution –Semi-automatic specification extraction tools File comparing tools Automatic.doc (.pdf) to SQL converters –Central internal format storage (SQL Database) –SQL queries to get formal changes description –SQL queries to discover contradictions –Special internal tool for checking consistency

15 Update Cycle: Generating Sources Source Generators –ISS Decoder and simulating functions templates –Assembly instructions grammar and binary mapping –Disassembler –IDE visualizations and assembly syntax highlighting –Test suite for Assembler and Disassembler

16 IDE

17 A SQL Table

18 Source Generators (ISS)

19

20

21

22 Source Generators (Assembler)

23 Results Tuned Cross Development Tools production process targeted at –Parallel Hardware and Software development –Non-ideal customer behaviour and specifications –Fastest tools updates to reflect dynamic changes in specifications (several hours - several weeks) And supported by –Ready universal source components –Internal productivity tools –Automatic source generators


Download ppt "Developing software and hardware in parallel Vladimir Rubanov ISP RAS."

Similar presentations


Ads by Google