Announcements Lab hours Wednesday 4:00-5:30pm, Friday 1:00-2:30pm • Min Kao 228 • Works fine for all but three students Your presence is not required We encourage you to use your own computer for labs/projects on your own time Lab is only for those students who have no computers TA will be in the lab to help your programming problems and check off your lab assignments Lab will open after the first lab assignment is announced • The first week of September (next Wednesday) ECE 455/555 Embedded System Design 1 ECE 455/555 Embedded System Design Design Methodology - II Wei Gao Fall 2015 2 Design Challenges Non-functional constraints How do we meet deadlines? • Faster hardware or better software? How do we minimize power? • Turn off unnecessary logic? Reduce memory accesses? Slow down CPU? Cost considerations Trade-offs among constraints Optimization & analysis are important! Will be covered in this course ECE 455/555 Embedded System Design 3 Design Methodologies requirements Top-down design specification architecture component design Bottom-up design system integration ECE 455/555 Embedded System Design 4 Requirements Plain language description of what the user wants and expects to get. May be developed in several ways: Talking directly to customers; Providing prototypes to users for comment. Functional vs. non-functional requirements Functional: output as a function of input Non-functional: timing constraints, power consumption, size, weight, etc. ECE 455/555 Embedded System Design 5 Requirements Form name purpose inputs outputs functions performance manufacturing cost power physical size/weight ECE 455/555 Embedded System Design 6 Example: GPS Moving Map Requirements Non-technical: Where I am? Technical: Obtains position from GPS, paints map from local database. Morrell Road I-40 lat: 40 13 lon: 32 19 ECE 455/555 Embedded System Design 7 GPS Moving Map Requirements Functionality For car driving use, not for airplanes or boats Show major roads and landmarks. User interface At least 400 x 600 pixel screen. Three buttons max. Pop-up menu. Performance No more than 1 sec power-up. Lock onto GPS within 15 seconds. Update location every 0.25 sec. ECE 455/555 Embedded System Design 8 GPS Moving Map Requirements Cost: street price no more than $100 Physical size/weight: Should fit in hand. Power consumption: Should run for at least 8 hours on four AA batteries. ECE 455/555 Embedded System Design 9 GPS Map Requirements From name purpose inputs outputs functions performance manufacturing cost power physical size/weight GPS moving map consumer-grade moving map for driving power button, two control buttons back-lit LCD 400 X 600 5-receiver GPS; three resolutions; displays current lat/lon updates screen within 0.25 sec of movement $100 cost-of-goodssold 100 mW no more than 2: X 6:, 12 oz. ECE 455/555 Embedded System Design 10 Specification More precise description of the system: should not imply a particular architecture; provides input to the architecture design process. May include functional and non-functional elements. UML: Unified Modeling Language Not required in this course ECE 455/555 Embedded System Design 11 GPS Specification Should include: what is received from GPS; map data, format; user interface, menu items; operations required to satisfy user requests; background operations needed to keep the system running • Event-driven or periodic?. ECE 455/555 Embedded System Design 12 Architecture Design What major components can satisfy the specifications? Hardware components: CPUs, memory, GPS receiver, etc. Software components: Topographical database, access functions, etc. Must take into account functional and non-functional specifications. ECE 455/555 Embedded System Design 13 GPS Moving Map Block Diagram GPS receiver search engine database renderer display user interface ECE 455/555 Embedded System Design 14 GPS Moving Map Hardware Architecture display frame buffer CPU GPS receiver memory panel I/O ECE 455/555 Embedded System Design 15 GPS Moving Map Software Architecture position database search renderer user interface timer ECE 455/555 Embedded System Design pixels 16 Designing Hardware and Software Components Must spend time architecting the system before you start coding. Components maybe ready-made modified from existing designs designed from scratch Components in an embedded system will be covered in following classes ECE 455/555 Embedded System Design 17 System Integration Put together the components. Many bugs appear only at this stage. Individual components should be tested first! ECE 455/555 Embedded System Design 18 Summary Characteristics of embedded systems Non-functional requirements: real-time, low-power, low-cost Embedded systems pose many design challenges: Design time Deadlines Power Cost … Design methodologies help us manage the design process. Top-down vs. bottom-up ECE 455/555 Embedded System Design 19 Reading Textbook: Sec 1.1, 1.2, 1.3 Optional (but interesting!) reading on web page N. Tredennick and B. Shimamoto, Go Reconfigure, IEEE Spectrum, 40(12): 36-40, 2003. ECE 455/555 Embedded System Design 20