1 / 20

Hardware/Software Codesign

Hardware/Software Codesign. Outline. Background and Rationale Architecture design constraints and issues Architecture design strategies Example of generic architectures Perspectives . Background and Rationale. Ancient History More Recent History. Back in the 80’s.

adelio
Download Presentation

Hardware/Software Codesign

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hardware/Software Codesign

  2. Outline • Background and Rationale • Architecture design constraints and issues • Architecture design strategies • Example of generic architectures • Perspectives

  3. Background and Rationale • Ancient History • More Recent History

  4. Back in the 80’s • The required text book for a similar course: A Rational Design Process: How and Why To Fake It. • Nortel Work Terms In the Compile Department: • Included everything from the operating system to the routing of 1-800 numbers. • 23 Million lines of code. • A single compile took 3 days And you thought the computers in the lab were slow.

  5. In the 90’s • Moore’s Law (1965) exposed the woeful inadequacy of the available design strategies. • IC technology focused the attention on hardware/software co-design.

  6. In the new millennium • A call went out for a Unified Modeling Language: • Embedded System Design: A Unified Hardware/Software Introduction. (Vahid and Givargis 2002) • A Decade of Hardware/Software Codesign (Wolf 2003)

  7. Issues • Abstracting so the big picture is not lost in the details • Language • Split of Hardware/Software

  8. In an Ideal World

  9. Hard-Soft-O-Matic Hardware Software Digital Signal Processing User Interface Memory Access

  10. Hardware Description Language (HDL) Software Description Language (SDL) People know C, so how about languages built on C/C++? SystemC SpecC Handel-C Can We At Least Talk The Same Language? Has no tool support. Only useful for influencing other languages. Lacks CAD tool support Proprietary: Not universally available

  11. Design Strategy

  12. Example: TV Switcher • Problem: Create a video driver to handle OTS rotation and movement. • Primary constraint: Time!

  13. Software Create rotation/translation matrix Calculate coefficients for equation to be used by the hardware. Hardware Use coefficients generated in software to calculate each pixel Partitioning

  14. Problem 1 • Problem: Jaggies in lines. • Solution: New post filter in hardware.

  15. Problem 2 • Problem: New hardware configuration caused the video to appear upside-down and shifted. • Solution: Obviously a hardware bug. Hardware team fix it! • New problem: The hardware team has been looking at this bug for over a month with no progress. The project will fail! … or maybe we should talk to the software side? • New solution: Add an initial flip and offset to counteract the bug. Fix time 20 minutes. • Conclusion: Hardware/Software team communication is beneficial.

  16. Problem 3 • Problem: The boss’s son updated the requirements to expand the universe by 1000 times. • That would require 32 bit coefficients. We can only do 16 bit multiplication in the given time constraints. • Solution: Learning from our past problems, let’s get the hardware and software teams together to discuss it.

  17. Hardware Team It can’t be done! We can’t give you 32 bits on all your variables. Well, A is added in at the end. We can do up to a 64 bit add. Software Team We don’t need all of them. We just need A, B, and C. A gives us unlimited translation, but not scaling. Wait a second, can we simulate scaling by translating so it LOOKS scaled? Let’s see what we can do. Summary of meeting minutes

  18. The Next Meeting (Two weeks later) • Test Team: Translating is indistinguishable from scaling. You can use either. • Development Teams: We can expand the universe to 950 times the original. It is just short of the 1000 times goal when every buffer overflows. • Boss’s Kid: Close enough! Great job! Let’s ship it.

  19. A Better Design Strategy

  20. Conclusions • We have come a long way. • Integration of Hardware/Software design is key. • Human intuition will be needed to partition hardware and software. • Both groups must learn to communicate. • Don’t let the boss’s kid see what you are working on.

More Related