[Emulate] Different Abstraction Models
- Different Abstraction Models
- Specification Model – Functional View
- Component-Assembly Model – Architectural View
- Bus Arbitration Model – Architectural View
- Bus Functional Model – Micro-architectural View
- Cycle-Accurate Computation – Micro-architectural View
- RTL Model – Pure Micro-architecture View
- From Specification to Micro-architecture
Different Abstraction Models1
Specification Model – Functional View
- The system functionality without implementation details
- Data transfer is modeled by variable accessing without any concept of channel
Component-Assembly Model – Architectural View
- Allocation of concurrent processing elements and mapping of processes
- Data transfer is achieved by message passing channels
- Message-passing channels
- An abstract implementation of communication focusing on data transaction
- No cycle-accurate, pin-accurate details, and no specific bus protocol
Bus Arbitration Model – Architectural View
- Channels between PEs are realized by an abstract bus
- Require design decision in both computation and communication
- An abstract bus
- Data transfers are still implemented by message passing
- Bus protocol is simplified as blocking and non-blocking I/O
- Arbiter is required to resolve bus conflicts
- No cycle-accurate, pin-accurate details
Bus Functional Model – Micro-architectural View
- Abstract bus channel is inline with a cycle-/pin-accurate protocol channel
- Wires of the bus are instantiated with variables/signals
- Data transfer follows the time/cycle-accurate sequence
- Provide interface functions for all abstract bus transactions
- Wrappers convert data transfer from higher level of abstraction (PEs) to lower level of abstraction (Protocol Channel)
Cycle-Accurate Computation – Micro-architectural View
- The PEs are cycle- and pin-accurate
- Dedicated hardware IPs are modeled at register transfer level
- Programmable processors are modeled by instruction set simulator
- Wrappers convert data transfer from higher level of abstraction (abstract bus) to lower level of abstraction (PEs)
RTL Model – Pure Micro-architecture View
Both computation and communication are pin- and cycle-accurate
From Specification to Micro-architecture
Component Assembly
- Based on the algorithm analyses, we perform the following tasks
- Partition the algorithm into SW/HW tasks
- Select general purpose CPU or DSP based on the SW characteristics
- Choose RTOS if necessary
- Design IPs or select IPs from library according to the HW tasks
- Define the functionalities of each IP
- Define the interfaces and the data to be exchanged between IPs
- Estimate functional delays in IPs
Communication Exploration
- Decision of interconnect structure
- Back-door connections or centralized buses
- Assign bus-accessing properties for each IP (master or slave)
- Decide the bus arbitration policy
- Estimate functional delays in communication
Protocol Refinement
- Inline abstract bus with protocol channel
- Determine the pin- and cycle-accurate bus protocol
- Work out the details of the bus control signals
- Wrappers are used to bridge the models of different abstractions
- Extract delays in communication from micro-architecture
IP Refinement
- The IPs are refined to pin- and cycle-accuracy
- Delays in computation are extracted from micro-architecture
- The embedded SW is optimized to achieve real-time performance
IP Replacement
- Some IPs are modeled with pin- or cycle-accuracy
- The IPs are replaced or refined one by one
- Wrappers are used to bridge the models of different abstractions
Communication Refinement
- Inline abstract bus with protocol channel
- Determine the pin- and cycle-accurate bus protocol
- Work out the details of the bus control signals
- Extract delays in communication from micro-architecture
- Wrappers are used to bridge the models of different abstractions
-
IOC5080(5940) System Model Design and Verification, Department of Computer Science, National Chiao-Tung University ↩