CprE 588 Embedded Computer Systems Homework #1 Assigned: February 5 Due: February 15



Similar documents
Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software

İSTANBUL AYDIN UNIVERSITY

Embedded Software development Process and Tools:

Architectures and Platforms

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Lesson 10:DESIGN PROCESS EXAMPLES Automatic Chocolate vending machine, smart card and digital camera

Embedded Systems. introduction. Jan Madsen

Network connectivity controllers

Digital Systems Design! Lecture 1 - Introduction!!

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Embedded Software Development

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises

Cambridge International AS and A Level Computer Science

Networking Remote-Controlled Moving Image Monitoring System

Industry First X86-based Single Board Computer JaguarBoard Released

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

Memory Systems. Static Random Access Memory (SRAM) Cell

Accelerate Cloud Computing with the Xilinx Zynq SoC

Microtronics technologies Mobile:

7a. System-on-chip design and prototyping platforms

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

PyCompArch: Python-Based Modules for Exploring Computer Architecture Concepts

PMOD Installation on Linux Systems

Computer and Set of Robots

Application Note: AN00141 xcore-xa - Application Development

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

Chapter 2 Features of Embedded System

Systems on Chip Design

Freescale Semiconductor, I

10CS64: COMPUTER NETWORKS - II

Chapter 2 Logic Gates and Introduction to Computer Architecture

Pre-tested System-on-Chip Design. Accelerates PLD Development

Academic year: 2015/2016 Code: IES s ECTS credits: 6. Field of study: Electronics and Telecommunications Specialty: -

Serial Communications

How To Use Chronos Mount For Astronomical Use

NETWRIX EVENT LOG MANAGER

Getting Started with IVI-COM and Python for the Lambda Genesys Power Supply

INDUSTRIAL CONTROL TECHNOLOGY. A Handbook for Engineers and Researchers. Peng Zhang. Beijing Normal University, People's Republic of China

EE360: Digital Design I Course Syllabus

ECE 358: Computer Networks. Solutions to Homework #4. Chapter 4 - The Network Layer

Chapter 11 I/O Management and Disk Scheduling

Developing an Application on Core8051s IP-Based Embedded Processor System Using Firmware Catalog Drivers. User s Guide

CSE467: Project Phase 1 - Building the Framebuffer, Z-buffer, and Display Interfaces

MPSoC Designs: Driving Memory and Storage Management IP to Critical Importance

Embedded Electric Power Network Monitoring System

Development of an Internet based Embedded System for Smart House Controlling and Monitoring

2011, The McGraw-Hill Companies, Inc. Chapter 3

Processor Architectures

Chapter 12. Development Tools for Microcontroller Applications

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

SBC8600B Single Board Computer

What Do I Need To Create a Visualization For ScreenPlay?

Computer Organization

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Custom design services

Lecture N -1- PHYS Microcontrollers

(Refer Slide Time: 02:39)

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey

Chapter 3. Operating Systems

VMware Server 2.0 Essentials. Virtualization Deployment and Management

THE BUSINESS VALUE OF AN ERP SYSTEM

Image Compression through DCT and Huffman Coding Technique

New Mexico Broadband Program. Basic Computer Skills. Module 1 Types of Personal Computers Computer Hardware and Software

Serial port interface for microcontroller embedded into integrated power meter

Describe the process of parallelization as it relates to problem solving.

TECHNOLOGY BRIEF. Compaq RAID on a Chip Technology EXECUTIVE SUMMARY CONTENTS

Using Speccy to Report on Your Computer Components

New York University Computer Science Department Courant Institute of Mathematical Sciences

IA-64 Application Developer s Architecture Guide

FPGA-based MapReduce Framework for Machine Learning

How To Test The Power Of Ancientisk On An Ipbx On A Quad Core Ios (Powerbee) On A Pc Or Ipbax On A Microsoft Ipbox On A Mini Ipbq

University of Pennsylvania Department of Electrical and Systems Engineering Digital Audio Basics

ELEC 5260/6260/6266 Embedded Computing Systems

Five standard procedures for building the android system. Figure1. Procedures for building android embedded systems

Open Architecture Design for GPS Applications Yves Théroux, BAE Systems Canada

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip

Windows Embedded Compact 7: RemoteFX and Remote Experience Thin Client Integration

KEEP IT SYNPLE STUPID

BEAGLEBONE BLACK ARCHITECTURE MADELEINE DAIGNEAU MICHELLE ADVENA

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Concept Engineering Adds JavaScript-based Web Capabilities to Nlview at DAC 2016

evm Virtualization Platform for Windows

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial

kvm: Kernel-based Virtual Machine for Linux

System Design Issues in Embedded Processing

System-On Chip Modeling and Design A case study on MP3 Decoder

New Technology Introduction: Android Studio with PushBot

Origins of Operating Systems OS/360. Martin Grund HPI

Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs

Operating Systems: Basic Concepts and History

Embedded Software development Process and Tools: Lesson-3 Host and Target Machines

CHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc.

Computer Automation Techniques. Arthur Carroll

Transcription:

CprE 588 Embedded Computer Systems Homework #1 Assigned: February 5 Due: February 15 Directions: Please submit this assignment by the due date via WebCT. Submissions should be in the form of 1) a PDF file with the writeup and 2) a ZIP file containing any additional necessary material. You must submit individual work, although you may collaborate with classmates on the problems. Please acknowledge any such collaboration when submitting. Engineering Distance Education students are provided with an automatic one week extension to the due date. Some of these questions do not have a strictly correct answer. You will be graded based on how well-formed your arguments are.

1) Embedded System Design Issues (a) Why are sequential programming languages (e.g. C/C++/Java) considered to be insufficient for embedded system specification and design? (b) Why are hardware design languages (e.g. VHDL/Verilog) considered to be insufficient for embedded system specification and design? (c) Describe a scenario where a FIFO queue would be a smart choice for a communication structure between two computational elements. (d) Under what conditions might a shared memory communication structure's efficiency be limited? (e) Can all programmatic behavior be modeled using a Finite State Machine (FSM) representation? If your answer is no, provide a counter-example. If your answer is yes, describe a behavior that may not be efficiently modeled using an FSM.

2) General-Purpose versus Application-Specific Processing Vahid and Givargis define a general-purpose processor as a programmable device that is suitable for a variety of applications to maximize the number of devices sold. Likewise, they define an application-specific instruction-set processor as a programmable processor optimized for a particular class of applications having common characteristics. Evaluate the accuracy and usefulness of these definitions. Use as specific examples the Intel Core i7 (link), the ARM Cortex-A8 (link), and the TI TMS320C67x (link) processors.

3) System Design Think about an embedded system that you are familiar with and answer the following questions. (a) Briefly describe the basic functionality of this system. (b) Suppose your job is to design this system using the Platform approach, with the following components: One General-Purpose Processor (GPP) An Application Specific Integrated Circuit (ASIC), for some specialized functionality in the system A DDR RAM module An optional set of communication controllers for external communication, such as USB, RS232, etc. (as needed) Two buses: one 64-bit wide bus used for memory transfers between the GPP and the RAM module, and a second 32-bit bus used for communications between the rest of the components and the GPP Draw a block diagram that shows a possible architecture of this platform. (c) Identify one function or task (or possibly many) in your system, and map it to a particular component. Briefly explain. (d) Suppose your company moves to an IP Assembly design approach, allowing the use of IP cores from a database. Consider the function and component you identified in part c) above. Describe a possible modification to your implementation that results from the flexibility of an IP assembly approach. (e) Suppose your company sets up a full design environment to support a Synthesis approach. Consider the function and component you identified in part c) above. Describe a possible modification to your implementation that results from the flexibility of a synthesis approach.

4) Digital Camera Example See attached file hw1.zip which contains a partially-completed software specification of the digital camera example as described in class. Specifically, in the Q4 folder, you should find the following C source files: ccd.c emulates the Charge Coupled Device (CCD) on a digital camera by reading image data from a specified file ccdpp.c performs the zero-bias adjustment on the input data cntrl.c controls the JPEG compression operation codec.c performs the Discrete Cosine Transform (DCT) on the input image main.c initializes the models and simulates the camera functionality uat.c emulates an output data transfer by writing compressed image data to a specified file (a) Compile and run the digital camera model using the included Makefile. Provide the output uat_out.txt file with your submission. (b) Profile the executable using the gprof command. Identify where the code is spending most of its time. Briefly summarize the relevant output of the profiler. (c) Modify the digital camera model such that is can handle arbitrary 8-bit PGM images. Compile and run the model on the supplied camera256.pgm image. Provide the encoded output file with your submission. (d) How much compression is achieved for both the image.txt and camera256.pgm images? Use the output result files from parts a) and c) in order to estimate how much the total image storage requirements have been reduced. (e) Based on the encoded output file from part c), how much additional compression could be achieved through the use of Huffman coding? This question has a precise answer but a general analysis of Huffman coding as applied to the output file from part c) is sufficient.

5) Introduction to SpecC The purpose of this question is to introduce you to the SpecC compiler. The SpecC compiler is installed on the department Linux servers; you can find more information on how to access the compiler at the class website (link). See folder Q5 in attached file hw1.zip which contains the specification model of a parity calculation example written in SpecC. (a) Briefly describe the basic functionality of this system. What is the computation described in files ones.sc and even.sc? (b) Compile the parity calculation model using the included Makefile. What is the output after running the compiled code for each of the following inputs: {208, 723, 24, 35}? (c) Modify the source such that it now calculates the longest string of consecutive zeros in the input data. Attach the modified source files in a ZIP file to be submitted with your writeup.