A Co-Synthesis Environment for Embedding Digital Systems in a Sea-of-Gates IC

Size: px
Start display at page:

Download "A Co-Synthesis Environment for Embedding Digital Systems in a Sea-of-Gates IC"

Transcription

1 A Co-Synthesis Environment for Embedding Digital Systems in a Sea-of-Gates IC João M P Cardoso INESC / Univ. Algarve jmcardo@ualg.pt Horácio C Neto INESC / IST hcn@inesc.pt INESC, Rua Alves Redol 9, 1000 Lisboa, Portugal Abstract: This paper describes a co-synthesis environment for the implementation of embedded digital systems on a single chip quick turnaround sea-of-gates technology. The target architecture integrates a parameterizable 8 bit RISC microcontroller core with application specific hardware functional units able to accelerate the execution of the timing critical system components. The hardware/software co-synthesis is guided by constraint directives added to the software-based system specification. The system proposed provides a suitable environment and an efficient solution for rapid prototyping and low cost small series production of low to medium complexity embedded digital systems. 1. Introduction Typical digital systems consist of hardware components and/or software components executing on dedicated processors. The best performance can be typically achieved by a dedicated hardware solution, while a faster design and a less expensive solution are commonly achieved by software based solutions. Of course, a better tradeoff between flexibility, performance and cost is achievable if a co-design approach able to tune together the software and hardware components is followed [1][2][3][4][5]. Most hardware/software co-synthesis systems [6][7] target system architectures which consist of a generalpurpose processor, memory and application-specific hardware components (see Figure 1). According to the chosen technology and system complexity, the individual components may be implemented as individual ICs on a board or on a multi-chip module, or they can be integrated in the same integrated circuit. Actual VLSI integration complexities already allow for the integration of complex systems in the same integrated circuit and standard cell products with the capability to integrate complex megacells such as, memory, MPU (MicroProcessor Unit), MCU (MicroController Unit), multipliers and other advanced functions, are already available in the market. However, with NRE (Non Recurring Engineering) costs starting at around 100KECUs, these complex IC products are well beyond the reach of the average customer and are therefore not suitable for low cost and/or low volume applications. PROCESSOR MEMORY ASIC ASIC Figure 1. Commonly targeted system architecture. The environment proposed in this article targets low cost single chip solutions, enabled by the use of a fast turnaround sea-of-gates technology processed using direct-write laser based lithography [8][9], adequate for medium complexity applications where timing and area constraints are important. PROCESSOR CORE WDT Timer units PROGRAM MEMORY I/O PORTS DATA MEMORY INTERFACE FUNCTIONAL UNITS Figure 2. Target system architecture of co-synthesis environment. The targeted system architecture is illustrated in Figure 2. The processor core is instruction set compatible with a commercial microcontroller [10] in order to take advantage of existent and well understood standard development tools. The system specification is therefore software based, with timing constraints directives included in the source code to guide the

2 hardware/software partitioning. The functional units (FUs) using dedicated hardware are generated automatically by the co-synthesis environment when timing constraints are violated or functional parallelization is enforced by the designer. 2. The processor core The processor architecture targeted by the cosynthesis environment has been chosen to be instruction set compatible with a commercial microcontroller [10]. The major issues considered for the architecture selection are enumerated below: Core size not very large (8-bit wide datapath); Simple RISC (Reduced Instruction Set Computer) architecture (with a reduced orthogonal instruction set - 33 instructions 12 bit wide), in order to simplify the parameterization; Good performance and code compactation [11] - all single cycle instructions except for program branches or when the target register is the program counter; Compatibility with existent applications and development tools [11] (simulators, crossassemblers, emulators); A power down mode controlled by a sleep instruction for low power consumption; One level of instruction pipelining (fetch of the next instruction in parallel with the execution of the actual instruction). Direct, indirect and relative addressing modes for data and instructions; An internal Timer and WatchDog Timer (WDT); The processor core, designated by PISCPMS 1 [12], is based on the architecture shown in Figure 3. It has been completely specified in VHDL and mapped to a fast turnaround sea-of-gates technology using a commercial synthesis environment. Some of the characteristics of the implemented core are described below: One instruction cycle (CLKOUT) is equivalent to 3 clock cycles (OSC1). Control pipelining (introducing registers between the control and datapath section) has been added in order to have the actual cycle control signals in the beginning of clock (OSC1). The GOTO and CALL instructions are executed in only one instruction cycle (3 clock cycles of OSC1). 1 Parameterized & Instruction Set Compatible PIC Microcontroller for Sea-of-Gates. All I/O ports can be implemented with and are fully reconfigurable. A maximum of 8x I/O ports is currently allowed. Any register can be configured as an output-only port. The number of register file registers is parameterized (with a current maximum of 80x8bit registers). If more than 32 registers are required a memory mapping scheme as described in [10] is used. Program Memory up to 512 x 12 bits RTCC/ WDTCLK 12 bits Instruction Register MCLR VDD, VSS 5 bits Instruction decoder and Control OSC1 OSC2/CLKOUT Synchronizer RTCC (F1) WatchDog Timer Timer Clock generation Program Counter (F2) 9-bits Stack OPTION TRISB Figure 3. Block diagram of the processor core achitecture. Register File (up to 80x registers) MUX Status (F3) MUX 3. Co-Synthesis Environment 5 bits TRISA Port B (F6) Port A (F5) The co-design system environment proposed is sketched in Figure 4. The system specification is currently defined by an assembler program compatible with existent commercial tools (for ex. MPALC [13] and MPSIM [14]). The system incorporates the PISCPMS core described in the previous section. The processor shares the internal bus with the functional units (see Figure 5). In order to maintain compatibility with existent development tools, the interface between the master processor and the hardware units extends the initial arquitecture, to allow parallel execution of the coprocessors, without requiring new specific instructions. For coordinating simulation and migration of the code segments to hardware, two technology files are ALU W FSR (F4)

3 Assembler program MPALC (assembler) MPSIM (simulator) Code segments with constraints extraction Analysis of execution time assembler VHDL sinthetizable ASM to ROM Converter Number of registers necessary SYNTHESIS Library Functions SYNTHESIS SYNTHESIS Program Memory Data Memory Interface FUs PISCPMS CORE Gate Array Figure 4. Co-Synthesis environment. required: one contains the execution cycle number per instruction, the other contains information about the available gate-array chips (maximum gate complexity and number of pin signals in available packages). The migration to hardware and the core parameterization are automated. The parameterized core blocks are specified using parameterized VHDL descriptions which provide an efficient way for automatic block generation. The code segments which violate the performance constraints are migrated to hardware: the corresponding source code is translated to synthetizable VHDL and the hardware is synthesized by a commercial tool guid ed by scripts generated by the co-synthesis environment. The user specifies the performance constraints as directives added to assembler code (the syntax begins with a ; so that commercial assemblers consider the directives as comments). Six types of directives are currently supported by the system: Time constraints directives: ;CONSTRAINT <time constraint> : <label> <TO> <label>] = <execution time>. <time constraint> : MAXTIME MINTIME Concurrent directive: ;PARALLEL : <label> <TO> <label> : <label> <TO> <label> {: <label> <TO> <label> : <label> <TO> <label>}. Specification of clock period: ;CLOCK CYCLE = <period clock time>. Specification of I/O ports: ;PORT_NUMS = <number of I/O ports (default=2)>. Specification of a resource: ;RESOURCE <label> <TO> <label> : <resource name>. Specification of FUs input/output operands: ;<signal type> # <unit number> # <operand byte> [<variable identifier>] EQU <register number>. <signal type> : IN OUT INOUT Generic directive: <label> EQU <identifier>. The concurrent execution of different processes can be forced by direct specification of the code segments (coroutines) parallelizable (with permitted autonomous execution). The code segments specified migrate to hardware and can execute in parallel. This mechanism permits to structure an application as a sequence of independent activities. For each code segment a mechanism like cobegin-coend is used. The cobegin is equivalent to an operand transfer from the register file to the FU and the coend to an operand transfer from the FU to the core processor. These constructions are simple and easy to program. Example 1 shows examples of directives that specify a maximum execution time for a code segment, a minimum

4 time execution for other segment, that force the two code segments to be concurrent, and that define the core processor clock cycle as 33 ns. Code segments whose execution time depends on the value of any operand (statically unbounded) can not currently be automatically migrated to hardware. However, the user can still design these units manually, or guide interactively the co-synthesis system to a migration of the internal code segments of the non deterministic cycles. In the later case, the resulting solution implements the iteration in hardware but controlled by the software. Example 1. Example of assembler directives ; CONSTRAIN MINTIME : label3 TO label4 = 2 us ; CONSTRAIN MAXTIME : label1 TO label2 = 1 us ; PARALLEL : label1 TO label2 : label3 TO label4 ; CLK_CYCLE = 33 ns This limitation will be solved by allowing these non deterministic code segments to be translated to VHDL and synthetized with an high level synthesis tool to a hardware control-datapath unit. 4. Hardware/Software Interface The processor bus is used as the communication interface between the core and the functional units (see Figure 5). This interface solution allows the addition of functional units, as peripheral components, with low additional cost. The core acts as master of the bus and is responsible for the synchronization with the functional units. The transfer of an operand from the register file to the hardware units, or vice-versa, requires the modification of the 3 bits of the status register. This task is done with 2 instructions (see Example 2 and Example 3). ld_b ld_w ALU W B enable_w B0 W0 B1 FUNCTIONAL UNITS W1 B6 W6 The MOVF instruction, which transfers a register content to the W register (or to the proper register, when we want a zero detector), collocates the identified register content in the bus, and loads the B latch with it. The control unit generates the signal ld_b to perform this task. When the 3 most significant bits of the status register are different than 000, the operand in the bus is loaded to the latch of the corresponding hardware unit. Example 2. Operand transfer from register file to FU: MOVLW MOVWF 3 MOVF operand identifier register number to transfer Example 3. Operand transfer from FU to register file: MOVLW MOVWF 3 MOVWF operand identifier register number to transfer The results of the functional units are communicated to the core using the MOVWF instruction in a similar way. This instruction transfers the register contents of W into a specified register. The value in W is transferred to the bus when the control signal enable_w is activated. According to the descodification of the 3 msbs of the status register, the selected operand (register W or one of the unit registers) is transferred to the bus. The maximum number of input/ouptut operands currently allowed for the FUs is 7, because the identification is done by the 3 most significant bits of the F3 register (status register). Alternative mapping schemes can be implemented, such as register bank interfaces, if required by more complex applications. However these alternatives are not yet automated by the co-design environment. The main characteristics of the proposed interface are thus: The transfer between operands from the core to the FUs is done without changing the basic instruction set. Each transfer of is performed with 3 instructions (3 instruction cycles). I/O port accesses are also done in 3 instruction cycles. The FUs and the software components can execute concurrently; A ma ximum of 7 input/output operands for all the FUs is currently supported by the automated environment. Figure 5. Interface of each unit with the core.

5 5. Cost Metrics The cost metrics will guide the partitioning process. These metrics must include the area dimension of each block (core, program memory, data memory, timers, etc.), package sizes available, maximum area available, and execution time. The co-synthesis environment uses high-level estimates obtained through statistically generated system implentations for the parameterized core, and uses accurate metrics feedbacked from the synthesis tools tools for the hardware units (for the sea-of-gates architecture targeted [9] the area unit considered is the site, which consists of a pair of complementary MOS transistors). The estimates for the program area dimension have been obtained through compilation of randomly generated programs based on normal distribution of the instruction set. The area of the circuits synthesized for each of these programs is shown in Table 1. These results indicate that the ratio sites/bit is approximately equal to 1.3, and decreases with the increase of the number of instructions in the program. Table 1. Metric estimates of program memory: Nº of Instructions 12 bits/instruction Memory area in Gate-Array access time t aces (ns) The total area of the IC can be predicted using the expressions (1, 2 and 3). The interface area (A interface) is related to the input operand registers of each FU, the output operand drivers and the generation of control signals. Each FU area is referred by Aunit. The software area (A SW) consists of the program memory and data memory. The size of the data memory depends on the required number of registers and the program memory depends on the number of instructions of the program. The core area consists of a fixed area (without parameterizable capability), the synchronism mechanism of the timer (to increment the RTCC 2 ), the timers (pre-scalar mechanism for both), the register RTCC, the two default ports (A and B), and the area of the address decoder of the register file. AIC = ACORE + ASW + ( A erface + A ) i unit i i int (1) 2 Real Time Clock/Counter Register.

6 Table 2. IC area estimates Area estimate (number of sites) Description A data 248 per each 8 bit register Area related to general registers 517 per each 8 bit I/O port Area related to I/O ports A prog 13 per instruction (overhead) Area of program memory with random logic A CORE Area of PISCPMS with the 7 special registers (includes PORTA and PORTB) A FIXED Fixed core area. A SYNC 294 Area of syncronism machine of Timer. A OPTION+WDT+Timer 777 Area of Watchdog Timer and Timer. A RTCC 578 Area of register F1. A REG_DEC 163 Area of register file decoder. A unit Area related to each FU A interface nº inputs* nº outputs*90 Area related to FU registers, FU drivers to internal bus and dexmultiplexing control signals. Each operand is 8 bit width. ASW = Aprog + Adata (2) A = A + A + A + CORE FIXED SYNC OPTION+ WDT+ Timer + A + A + A + A RTCC PORTA PORTB REG_ DEC (3) The estimates used for the individual areas are represented in Table Examples The processor core has been implemented in a sea-ofgates integrated circuit with a test program of 135 instructions and 13 registers. This circuit occupies 4030 equivalent gates. Logic simulations illustrated a maximum clock frequency near 35MHz. The critical path of the processor core has been identified, which consists of the increment of the program counter, followed by addressing program memory. A re - scheduling of these is under development in order to increase the maximum allowable clock frequency. The results presented in Table 3 are relative to a multiplication routine included in the implemented chip test program (with 14 instructions plus 1 CALL) which calculates the multiplication of two 8 bit wide operands with a 16 bit re sult. Table 3 also presents the execution time of the implemented routine in a commercial PIC 3 microcontroller. In case the constraint directive for this application specifies that the multiplication must be performed in less than 2 µs, the co-synthesis system automatically migrates the routine to hardware (multiplier). The resulting solution consists of a multiplier unit (area = 1879 sites and execution time = 74 ns). When integrated with the processor core, it will use 11 code instructions for communication between the unit and the core and the total execution time is 1.1 µs. Table 3. Results for multiplication routine: Nº of instruction cycles Execution time PISCPMS@30MHz µs µs 7. Conclusions and Future Work The proposed software/hardware co-synthesis environment provides an efficient approach for rapid prototyping of embedded digital systems by combining, in a one-chip solution, a generic microcontroller core with application specific hardware units. This approach targets single chip system implementation on a quick turnaround sea-of-gates technology and is therefore a very good solution for rapid prototyping and low cost small series production of low to medium complexity embedded digital systems. The communication interface is not critical for the final performance, but alternative interface schemes are being considered. The use of high level hardware synthesis algorithms able to extract the non deterministic code segments, which currently are not 3 PIC is a trademark of Microchip Inc.

7 allowed to be migrated into hardware, is under investigation. The extension of the design system to allow the specification of the software components in C, such that the C compiler exports the constraints directives to the flow graph assembler level where the hardware/software partition is currently performed is planned as a future development. [12] João M. P. Cardoso, Co -Síntese de Sistemas Embebidos em Agregados de Células Lógicas, Master Thesis, IST, 1996 (in preparation). [13] MPCALC ASSEMBLER USER S GUIDE, Microchip Technology Inc., 1994, p [14] MPSIM USER S GUIDE, Microchip Technology Inc., 1993, p References [1] Daniel D. Gajski et al., Specification And Design Of Embedded Systems, Prentice-Hall Englewood Cliffs, [2] Giovanni De Micheli, Computer-Aided Hardware-Software Codesign, IEEE Micro, August 1994, pp [3] Giovanni De Micheli, Hardware-Software Co - design: Application Domains and Design Technologies, in Hardware-Software Co- Design, Kluwer Academic Publishers, January [4] Harry Hsieh, Luciano Lavagno, and Alberto Sangiovanni-Vincentelli, Embedded System Codesign: Synthesis and Verification, in Hardware-Software Co-Design, Kluwer Academic Publishers, January [5] Daniel D. Gajski, and Frank Vahid, Specification And Design Of Embedded Hardware-Software Systems, IEEE Design & Test of Computers, Spring 1995, pp [6] Rolf Ernst, J. Henkel, e T. Benner, Hardware- Software Cosynthesis for Microcontrollers, IEEE Design & Test of Computers, Vol. 10, No. 4, December 1993, pp [7] R. K. Gupta, Cosynthesis of Hardware and Software for Digital Embedded Systems, PhD Thesis, Stanford University, Palo Alto, Calif., 1993 [8] Horácio C. Neto, Fast Prototyping of Microelectronic Systems, IV EBMicro, Escola Brasileira de Microelectrónica, Advanced Research Tutorials, Recife, January 1995 [9] QuickChips Partners, QuickChips, A System Supporting ASIC Design and Providing Rapid Turnaround Prototyping, Esprit Project 6043, Technical Appendix VI, September 1995 [10] MICROCHIP DATA BOOK, Microchip Technology Inc., 1993 [11] EMBEDDED CONTROL HANDBOOK, Microchip Technology Inc., 1993.

A Parameterizable Processor Core for Fast Turnaround Co-Synthesis of Embedded Systems

A Parameterizable Processor Core for Fast Turnaround Co-Synthesis of Embedded Systems A Parameterizable Processor Core for Fast Turnaround Co-Synthesis of Embedded Systems João M P Cardoso INESC / Univ. Algarve jmpc@cybill.inesc.pt Horácio C Neto INESC / IST hcn@inesc.pt INESC, Rua Alves

More information

Lesson 14. Title of the Experiment: Introduction to Microcontroller (Activity number of the GCE Advanced Level practical Guide 27)

Lesson 14. Title of the Experiment: Introduction to Microcontroller (Activity number of the GCE Advanced Level practical Guide 27) Lesson 14 Title of the Experiment: Introduction to Microcontroller (Activity number of the GCE Advanced Level practical Guide 27) Name and affiliation of the author: N W K Jayatissa Department of Physics,

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EE6008 Microcontroller based system design

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EE6008 Microcontroller based system design Year: IV DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EE6008 Microcontroller based system design Semester : VII UNIT I Introduction to PIC Microcontroller

More information

CHAPTER 6 CONCLUSION AND SCOPE FOR FUTURE WORK

CHAPTER 6 CONCLUSION AND SCOPE FOR FUTURE WORK 134 CHAPTER 6 CONCLUSION AND SCOPE FOR FUTURE WORK 6.1 CONCLUSION Many industrial processes such as assembly lines have to operate at different speeds for different products. Process control may demand

More information

ME 515 Mechatronics. A microprocessor

ME 515 Mechatronics. A microprocessor ME 515 Mechatronics Microcontroller Based Control of Mechanical Systems Asanga Ratnaweera Department of Faculty of Engineering University of Peradeniya Tel: 081239 (3627) Email: asangar@pdn.ac.lk A microprocessor

More information

DERTS Design Requirements (1): Microcontroller Architecture & Programming

DERTS Design Requirements (1): Microcontroller Architecture & Programming Lecture (5) DERTS Design Requirements (1): Microcontroller Architecture & Programming Prof. Kasim M. Al-Aubidy Philadelphia University 1 Lecture Outline: Features of microcomputers and microcontrollers.

More information

PIC16F87X. 28/40-pin 8-Bit CMOS FLASH Microcontrollers. Devices Included in this Data Sheet: Pin Diagram PDIP. Microcontroller Core Features:

PIC16F87X. 28/40-pin 8-Bit CMOS FLASH Microcontrollers. Devices Included in this Data Sheet: Pin Diagram PDIP. Microcontroller Core Features: PIC16F7X 2/40-pin -Bit CMOS FLASH Microcontrollers Devices Included in this Data Sheet: PIC16F7 PIC16F74 PIC16F76 PIC16F77 Microcontroller Core Features: High-performance RISC CPU Only 5 single word instructions

More information

Midrange 8b PIC Microcontrollers. ECE Senior Design 14 February 2017

Midrange 8b PIC Microcontrollers. ECE Senior Design 14 February 2017 Midrange 8b PIC Microcontrollers ECE Senior Design 14 February 2017 Harvard vs. Von Neumann Harvard Architecture Program Memory 14-bit Bus CPU 8-bit Bus Data Memory Harvard architecture Separate busses

More information

ECE332, Week 2, Lecture 3. September 5, 2007

ECE332, Week 2, Lecture 3. September 5, 2007 ECE332, Week 2, Lecture 3 September 5, 2007 1 Topics Introduction to embedded system Design metrics Definitions of general-purpose, single-purpose, and application-specific processors Introduction to Nios

More information

ECE332, Week 2, Lecture 3

ECE332, Week 2, Lecture 3 ECE332, Week 2, Lecture 3 September 5, 2007 1 Topics Introduction to embedded system Design metrics Definitions of general-purpose, single-purpose, and application-specific processors Introduction to Nios

More information

NH-67, TRICHY MAIN ROAD, PULIYUR, C.F , KARUR DT. DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING COURSE MATERIAL

NH-67, TRICHY MAIN ROAD, PULIYUR, C.F , KARUR DT. DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING COURSE MATERIAL NH-67, TRICHY MAIN ROAD, PULIYUR, C.F. 639 114, KARUR DT. DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING COURSE MATERIAL Subject Name : Embedded System Class/Sem : BE (ECE) / VII Subject Code

More information

Embedded Systems. PIC16F84A Sample Programs. Eng. Anis Nazer First Semester

Embedded Systems. PIC16F84A Sample Programs. Eng. Anis Nazer First Semester Embedded Systems PIC16F84A Sample Programs Eng. Anis Nazer First Semester 2017-2018 Development cycle (1) Write code (2) Assemble / compile (3) Simulate (4) Download to MCU (5) Test Inputs / Outputs PIC16F84A

More information

Embedded Systems. PIC16F84A Internal Architecture. Eng. Anis Nazer First Semester

Embedded Systems. PIC16F84A Internal Architecture. Eng. Anis Nazer First Semester Embedded Systems PIC16F84A Internal Architecture Eng. Anis Nazer First Semester 2017-2018 Review Computer system basic components? CPU? Memory? I/O? buses? Instruction? Program? Instruction set? CISC,

More information

In Proceedings of Design of Integrated Circuits and Systems Conference (DCIS), November 1996

In Proceedings of Design of Integrated Circuits and Systems Conference (DCIS), November 1996 In Proceedings of Design of Integrated Circuits and Systems Conference (DCIS), November 1996 Register Transfer Level VHDL Block Generation Paulo Flores Horacio Neto INESC/IST Instituto de Engenharia de

More information

Section 11. Timer0. Timer0 HIGHLIGHTS. This section of the manual contains the following major topics:

Section 11. Timer0. Timer0 HIGHLIGHTS. This section of the manual contains the following major topics: M 11 Section 11. HIGHLIGHTS This section of the manual contains the following major topics: 11.1 Introduction...11-2 11.2 Control Register...11-3 11.3 Operation...11-4 11.4 TMR0 Interrupt...11-5 11.5 Using

More information

Introduction to Microcontrollers

Introduction to Microcontrollers Introduction to Microcontrollers Embedded Controller Simply an embedded controller is a controller that is embedded in a greater system. One can define an embedded controller as a controller (or computer)

More information

Concepts for Model Compilation in Hardware/Software Codesign

Concepts for Model Compilation in Hardware/Software Codesign Concepts for Model Compilation in Hardware/Software Codesign S. Schulz, and J.W. Rozenblit Dept. of Electrical and Computer Engineering The University of Arizona Tucson, AZ 85721 USA sschulz@ece.arizona.edu

More information

EEE111A/B Microprocessors

EEE111A/B Microprocessors EEE111A/B Microprocessors Revision Notes Lecture 1: What s it all About? Covers the basic principles of digital signals. The intelligence of virtually all communications, control and electronic devices

More information

Chapter 2 Sections 1 8 Dr. Iyad Jafar

Chapter 2 Sections 1 8 Dr. Iyad Jafar Introducing the PIC 16 Series and the 16F84A Chapter 2 Sections 1 8 Dr. Iyad Jafar Outline Overview of the PIC 16 Series An Architecture Overview of the 16F84A The 16F84A Memory Organization Memory Addressing

More information

PIC 16F84A programming (II)

PIC 16F84A programming (II) Lecture (05) PIC 16F84A programming (II) Dr. Ahmed M. ElShafee ١ Introduction to 16F84 ٣ PIC16F84 belongs to a class of 8-bit microcontrollers of RISC architecture. Program memory (FLASH) EEPROM RAM PORTA

More information

Hardware Software Codesign of Embedded System

Hardware Software Codesign of Embedded System Hardware Software Codesign of Embedded System CPSC489-501 Rabi Mahapatra Mahapatra - Texas A&M - Fall 00 1 Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on

More information

Silicore Corporation

Silicore Corporation Silicore Corporation Datasheet For The: Silicore SLC1657 8-BIT RISC Microcontroller / VHDL Core Overview The Silicore SLC1657 is an eight-bit RISC microcontroller. It is delivered as a VHDL soft core module,

More information

PIC16C52. EPROM-Based 8-Bit CMOS Microcontroller PIC16C52. Pin Diagrams. Feature Highlights. High-Performance RISC CPU. Peripheral Features

PIC16C52. EPROM-Based 8-Bit CMOS Microcontroller PIC16C52. Pin Diagrams. Feature Highlights. High-Performance RISC CPU. Peripheral Features This document was created with FrameMaker 404 PIC16C52 EPROM-Based 8-Bit CMOS Microcontroller Feature Highlights Pin Diagrams Program Memory Data Memory I/O PDIP, SOIC 384 25 12 High-Performance RISC CPU

More information

Outlines. PIC Programming in C and Assembly. Krerk Piromsopa, Ph.D. Department of Computer Engineering Chulalongkorn University

Outlines. PIC Programming in C and Assembly. Krerk Piromsopa, Ph.D. Department of Computer Engineering Chulalongkorn University PIC ming in C and Assembly Outlines Microprocessor vs. MicroController PIC in depth PIC ming Assembly ming Krerk Piromsopa, Ph.D. Department of Computer Engineering Chulalongkorn University Embedded C

More information

Controller Synthesis for Hardware Accelerator Design

Controller Synthesis for Hardware Accelerator Design ler Synthesis for Hardware Accelerator Design Jiang, Hongtu; Öwall, Viktor 2002 Link to publication Citation for published version (APA): Jiang, H., & Öwall, V. (2002). ler Synthesis for Hardware Accelerator

More information

PIC Discussion. By Eng. Tamar Jomaa

PIC Discussion. By Eng. Tamar Jomaa PIC Discussion By Eng. Tamar Jomaa Chapter#2 Programming Microcontroller Using Assembly Language Quiz#1 : Time: 10 minutes Marks: 10 Fill in spaces: 1) PIC is abbreviation for 2) Microcontroller with..architecture

More information

Documentation Design File Formats

Documentation Design File Formats PIC165X Fast RISC Microcontroller (DFPIC165X) July 16, 2008 Product Specification Digital Core Design Wroclawska 94 41-902 Bytom Poland Phone : +48 32 2828266 Fax : +48 32 2827437 E-mail : info@dcd.pl

More information

ME 6405 Introduction to Mechatronics

ME 6405 Introduction to Mechatronics ME 6405 Introduction to Mechatronics Fall 2006 Instructor: Professor Charles Ume Microchip PIC Manufacturer Information: Company: Website: http://www.microchip.com Reasons for success: Became the hobbyist's

More information

Input/Output Ports and Interfacing

Input/Output Ports and Interfacing Input/Output Ports and Interfacing ELEC 330 Digital Systems Engineering Dr. Ron Hayne Images Courtesy of Ramesh Gaonkar and Delmar Learning Basic I/O Concepts Peripherals such as LEDs and keypads are essential

More information

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton Hardware/Software Partitioning for SoCs EECE 579 - Advanced Topics in VLSI Design Spring 2009 Brad Quinton Goals of this Lecture Automatic hardware/software partitioning is big topic... In this lecture,

More information

Microcontroller systems Lec 2 PIC18LF8722 Microcontroller s s core

Microcontroller systems Lec 2 PIC18LF8722 Microcontroller s s core TKT-3500 Microcontroller systems Lec 2 PIC18LF8722 Microcontroller s s core Erno Salminen Copyright notice Some figures by Robert Reese, from supplementary CD of the course book from PIC18F8722 Family

More information

Outline. Micriprocessor vs Microcontroller Introduction to PIC MCU PIC16F877 Hardware:

Outline. Micriprocessor vs Microcontroller Introduction to PIC MCU PIC16F877 Hardware: HCMIU - DEE Subject: ERTS RISC MCU Architecture PIC16F877 Hardware 1 Outline Micriprocessor vs Microcontroller Introduction to PIC MCU PIC16F877 Hardware: Program Memory Data memory organization: banks,

More information

Microcontroller Overview

Microcontroller Overview Microcontroller Overview Microprocessors/Microcontrollers/DSP Microcontroller components Bus Memory CPU Peripherals Programming Microcontrollers vs. µproc. and DSP Microprocessors High-speed information

More information

Design and Implementation of 5 Stages Pipelined Architecture in 32 Bit RISC Processor

Design and Implementation of 5 Stages Pipelined Architecture in 32 Bit RISC Processor Design and Implementation of 5 Stages Pipelined Architecture in 32 Bit RISC Processor Abstract The proposed work is the design of a 32 bit RISC (Reduced Instruction Set Computer) processor. The design

More information

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices, Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices, CISC and RISC processors etc. Knows the architecture and

More information

which means that writing to a port implies that the port pins are first read, then this value is modified and then written to the port data latch.

which means that writing to a port implies that the port pins are first read, then this value is modified and then written to the port data latch. Introduction to microprocessors Feisal Mohammed 3rd January 2001 Additional features 1 Input/Output Ports One of the features that differentiates a microcontroller from a microprocessor is the presence

More information

Assembly Language Instructions

Assembly Language Instructions Assembly Language Instructions Content: Assembly language instructions of PIC16F887. Programming by assembly language. Prepared By- Mohammed Abdul kader Assistant Professor, EEE, IIUC Assembly Language

More information

PIC16C84. 8-bit CMOS EEPROM Microcontroller PIC16C84. Pin Diagram. High Performance RISC CPU Features: CMOS Technology: Peripheral Features:

PIC16C84. 8-bit CMOS EEPROM Microcontroller PIC16C84. Pin Diagram. High Performance RISC CPU Features: CMOS Technology: Peripheral Features: 8-bit CMOS EEPROM Microcontroller High Performance RISC CPU Features: Only 35 single word instructions to learn All instructions single cycle (400 ns @ 10 MHz) except for program branches which are two-cycle

More information

PIC16F8X. 8-Bit CMOS Flash/EEPROM Microcontrollers PIC16F8X PIC16CR8X. Pin Diagram. Devices Included in this Data Sheet:

PIC16F8X. 8-Bit CMOS Flash/EEPROM Microcontrollers PIC16F8X PIC16CR8X. Pin Diagram. Devices Included in this Data Sheet: This document was created with FrameMaker 404 PIC16F8X 8-Bit CMOS Flash/EEPROM Microcontrollers Devices Included in this Data Sheet: PIC16F83 PIC16CR83 PIC16F84 PIC16CR84 Extended voltage range devices

More information

EE6008-Microcontroller Based System Design Department Of EEE/ DCE

EE6008-Microcontroller Based System Design Department Of EEE/ DCE UNIT- II INTERRUPTS AND TIMERS PART A 1. What are the interrupts available in PIC? (Jan 14) Interrupt Source Enabled by Completion Status External interrupt from INT INTE = 1 INTF = 1 TMR0 interrupt T0IE

More information

UNIT V MICRO CONTROLLER PROGRAMMING & APPLICATIONS TWO MARKS. 3.Give any two differences between microprocessor and micro controller.

UNIT V MICRO CONTROLLER PROGRAMMING & APPLICATIONS TWO MARKS. 3.Give any two differences between microprocessor and micro controller. UNIT V -8051 MICRO CONTROLLER PROGRAMMING & APPLICATIONS TWO MARKS 1. What is micro controller? Micro controller is a microprocessor with limited number of RAM, ROM, I/O ports and timer on a single chip

More information

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor 1 2 A microprocessor is a single, very-large-scale-integration (VLSI) chip that contains many digital circuits that perform arithmetic, logic, communication, and control functions. When a microprocessor

More information

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers Lecture (4) Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers Prof. Kasim M. Al-Aubidy Philadelphia University-Jordan DERTS-MSc, 2015 Prof. Kasim Al-Aubidy 1 Lecture Outline:

More information

ECE 354 Introduction to Lab 2. February 23 rd, 2003

ECE 354 Introduction to Lab 2. February 23 rd, 2003 ECE 354 Introduction to Lab 2 February 23 rd, 2003 Fun Fact Press release from Microchip: Microchip Technology Inc. announced it provides PICmicro field-programmable microcontrollers and system supervisors

More information

VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko

VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko 136 VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko Abstract: Usage of modeling for construction of laser installations today is actual in connection

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Area/Delay Estimation for Digital Signal Processor Cores

Area/Delay Estimation for Digital Signal Processor Cores Area/Delay Estimation for Digital Signal Processor Cores Yuichiro Miyaoka Yoshiharu Kataoka, Nozomu Togawa Masao Yanagisawa Tatsuo Ohtsuki Dept. of Electronics, Information and Communication Engineering,

More information

Microcontrollers. Introduction to the PIC 8-bit Midrange Family. ECE Senior Design 15 February 2017

Microcontrollers. Introduction to the PIC 8-bit Midrange Family. ECE Senior Design 15 February 2017 Microcontrollers Introduction to the PIC 8-bit Midrange Family ECE Senior Design 15 February 2017 Popular Microcontrollers 8051 Intel then Everyone (8-bit old) PIC Microchip (8, 16 & 32bit) AVR Atmel (8

More information

Lecture (03) PIC16F84 (2)

Lecture (03) PIC16F84 (2) Lecture (03) PIC16F84 (2) By: Dr. Ahmed ElShafee ١ PIC16F84 has a RISC architecture, or Harvard architecture in another word ٢ PIC16F84 belongs to a class of 8 bit microcontrollers of RISC architecture.

More information

1 Introduction to Computers and Computer Terminology Programs Memory Processor Data Sheet Example Application...

1 Introduction to Computers and Computer Terminology Programs Memory Processor Data Sheet Example Application... Overview of the PIC 16F648A Processor: Part 1 EE 361L Lab 2.1 Last update: August 19, 2011 Abstract: This report is the first of a three part series that discusses the features of the PIC 16F684A processor,

More information

VLSI DESIGN OF REDUCED INSTRUCTION SET COMPUTER PROCESSOR CORE USING VHDL

VLSI DESIGN OF REDUCED INSTRUCTION SET COMPUTER PROCESSOR CORE USING VHDL International Journal of Electronics, Communication & Instrumentation Engineering Research and Development (IJECIERD) ISSN 2249-684X Vol.2, Issue 3 (Spl.) Sep 2012 42-47 TJPRC Pvt. Ltd., VLSI DESIGN OF

More information

Rapidly Developing Embedded Systems Using Configurable Processors

Rapidly Developing Embedded Systems Using Configurable Processors Class 413 Rapidly Developing Embedded Systems Using Configurable Processors Steven Knapp (sknapp@triscend.com) (Booth 160) Triscend Corporation www.triscend.com Copyright 1998-99, Triscend Corporation.

More information

Introduction to general architectures of 8 and 16 bit micro-processor and micro-controllers

Introduction to general architectures of 8 and 16 bit micro-processor and micro-controllers Introduction to general architectures of 8 and 16 bit micro-processor and micro-controllers A microcontroller is a microprocessor with inbuilt peripherals.a microcontroller can also be compared with a

More information

PIC16F8X 18-pin Flash/EEPROM 8-Bit Microcontrollers

PIC16F8X 18-pin Flash/EEPROM 8-Bit Microcontrollers 18-pin Flash/EEPROM 8-Bit Microcontrollers Devices Included in this Data Sheet: PIC16F83 PIC16F84 PIC16CR83 PIC16CR84 Extended voltage range devices available (PIC16LF8X, PIC16LCR8X) High Performance RISC

More information

EE 361L Digital Systems and Computer Design Laboratory

EE 361L Digital Systems and Computer Design Laboratory EE 361L Digital Systems and Computer Design Laboratory University of Hawaii Department of Electrical Engineering by Galen Sasaki and Ashok Balusubramaniam Quick Overview of PIC16F8X Version 1.0 Date: 9/4/01

More information

ELC4438: Embedded System Design Embedded Processor

ELC4438: Embedded System Design Embedded Processor ELC4438: Embedded System Design Embedded Processor Liang Dong Electrical and Computer Engineering Baylor University 1. Processor Architecture General PC Von Neumann Architecture a.k.a. Princeton Architecture

More information

Section 13. Timer0 HIGHLIGHTS. Timer0. This section of the manual contains the following major topics:

Section 13. Timer0 HIGHLIGHTS. Timer0. This section of the manual contains the following major topics: Section 13. Timer0 HIGHLIGHTS This section of the manual contains the following major topics: 13.1 Introduction... 13-2 13.2 Control Register... 13-3 13.3 Operation... 13-4 13.4 Timer0 Interrupt... 13-5

More information

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE:

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE: 1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE: A microprocessor is a programmable electronics chip that has computing and decision making capabilities similar to central processing unit

More information

AVR Microcontrollers Architecture

AVR Microcontrollers Architecture ก ก There are two fundamental architectures to access memory 1. Von Neumann Architecture 2. Harvard Architecture 2 1 Harvard Architecture The term originated from the Harvard Mark 1 relay-based computer,

More information

TKT-3500 Microcontroller systems

TKT-3500 Microcontroller systems TKT-3500 Microcontroller systems Lec 2 PIC18LF8722 Microcontroller s core Teemu Laukkarinen Department of Computer Systems Tampere University of Technology Fall 2011 Copyright Tampere University of Technology

More information

Parameterized System Design

Parameterized System Design Parameterized System Design Tony D. Givargis, Frank Vahid Department of Computer Science and Engineering University of California, Riverside, CA 92521 {givargis,vahid}@cs.ucr.edu Abstract Continued growth

More information

Embedded System Design

Embedded System Design ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN KỸ THUẬT ĐIỆN TỬ Embedded System Design : Microcontroller 1. Introduction to PIC microcontroller 2. PIC16F84 3. PIC16F877

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Outline Embedded systems overview What is embedded system Characteristics Elements of embedded system Trends in embedded system Design cycle 2 Computing Systems Most of

More information

Design Space Exploration Using Parameterized Cores

Design Space Exploration Using Parameterized Cores RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR Design Space Exploration Using Parameterized Cores Ian D. L. Anderson M.A.Sc. Candidate March 31, 2006 Supervisor: Dr. M. Khalid 1 OUTLINE

More information

Introduction. Embedded system functionality aspects. Processing. Storage. Communication. Transformation of data Implemented using processors

Introduction. Embedded system functionality aspects. Processing. Storage. Communication. Transformation of data Implemented using processors Input/Output 1 Introduction Embedded system functionality aspects Processing Transformation of data Implemented using processors Storage Retention of data Implemented using memory Communication Transfer

More information

Mechatronics and Measurement. Lecturer:Dung-An Wang Lecture 6

Mechatronics and Measurement. Lecturer:Dung-An Wang Lecture 6 Mechatronics and Measurement Lecturer:Dung-An Wang Lecture 6 Lecture outline Reading:Ch7 of text Today s lecture: Microcontroller 2 7.1 MICROPROCESSORS Hardware solution: consists of a selection of specific

More information

3.1 Description of Microprocessor. 3.2 History of Microprocessor

3.1 Description of Microprocessor. 3.2 History of Microprocessor 3.0 MAIN CONTENT 3.1 Description of Microprocessor The brain or engine of the PC is the processor (sometimes called microprocessor), or central processing unit (CPU). The CPU performs the system s calculating

More information

Model Answer Microcontrollers. MCQ Problems Total Q1 Q2

Model Answer Microcontrollers. MCQ Problems Total Q1 Q2 Model Answer Course name: Microcontrollers Exam numer: Midterm - Fall 2017 Course Code: ECE401 Exam Date: Nov 2016 Lecturer: Dr. Ahmed ElShafee Time Allowed: 60 minutes ID:... Name:.... MCQ Prolems Total

More information

Computer Architecture 2/26/01 Lecture #

Computer Architecture 2/26/01 Lecture # Computer Architecture 2/26/01 Lecture #9 16.070 On a previous lecture, we discussed the software development process and in particular, the development of a software architecture Recall the output of the

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

ECE 354 Computer Systems Lab II. Interrupts, Strings, and Busses

ECE 354 Computer Systems Lab II. Interrupts, Strings, and Busses ECE 354 Computer Systems Lab II Interrupts, Strings, and Busses Fun Fact Press release from Microchip: Microchip Technology Inc. announced it provides PICmicro field-programmable microcontrollers and system

More information

EEL 4783: Hardware/Software Co-design with FPGAs

EEL 4783: Hardware/Software Co-design with FPGAs EEL 4783: Hardware/Software Co-design with FPGAs Lecture 5: Digital Camera: Software Implementation* Prof. Mingjie Lin * Some slides based on ISU CPrE 588 1 Design Determine system s architecture Processors

More information

PIC16C Pin, 8-Bit CMOS Microcontroller. Device included in this Data Sheet: Special Microcontroller Features: High-Performance RISC CPU:

PIC16C Pin, 8-Bit CMOS Microcontroller. Device included in this Data Sheet: Special Microcontroller Features: High-Performance RISC CPU: 14-Pin, 8-Bit CMOS Microcontroller Device included in this Data Sheet: PIC16C505 High-Performance RISC CPU: Only 33 instructions to learn Operating speed: - DC - 20 MHz clock input - DC - 200 ns instruction

More information

In this tutorial, we will discuss the architecture, pin diagram and other key concepts of microprocessors.

In this tutorial, we will discuss the architecture, pin diagram and other key concepts of microprocessors. About the Tutorial A microprocessor is a controlling unit of a micro-computer, fabricated on a small chip capable of performing Arithmetic Logical Unit (ALU) operations and communicating with the other

More information

Embedded Systems Ch 15 ARM Organization and Implementation

Embedded Systems Ch 15 ARM Organization and Implementation Embedded Systems Ch 15 ARM Organization and Implementation Byung Kook Kim Dept of EECS Korea Advanced Institute of Science and Technology Summary ARM architecture Very little change From the first 3-micron

More information

Hardware Software Partitioning of Multifunction Systems

Hardware Software Partitioning of Multifunction Systems Hardware Software Partitioning of Multifunction Systems Abhijit Prasad Wangqi Qiu Rabi Mahapatra Department of Computer Science Texas A&M University College Station, TX 77843-3112 Email: {abhijitp,wangqiq,rabi}@cs.tamu.edu

More information

PIC16C Pin, 8-Bit CMOS Microcontroller. Device included in this Data Sheet: Special Microcontroller Features: High-Performance RISC CPU:

PIC16C Pin, 8-Bit CMOS Microcontroller. Device included in this Data Sheet: Special Microcontroller Features: High-Performance RISC CPU: 14-Pin, 8-Bit CMOS Microcontroller Device included in this Data Sheet: PIC16C505 High-Performance RISC CPU: Only 33 instructions to learn Operating speed: - DC - 20 MHz clock input - DC - 200 ns instruction

More information

Hardware Software Codesign of Embedded Systems

Hardware Software Codesign of Embedded Systems Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System

More information

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Bibliography Books on software reuse: 1. 2. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, 1997. Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Formal specification and verification:

More information

Learning Objectives:

Learning Objectives: Topic 5.2.1 PIC microcontrollers Learning Objectives: At the end of this topic you will be able to; Recall the architecture of a PIC microcontroller, consisting of CPU, clock, data memory, program memory

More information

AVR XMEGA TM. A New Reference for 8/16-bit Microcontrollers. Ingar Fredriksen AVR Product Marketing Director

AVR XMEGA TM. A New Reference for 8/16-bit Microcontrollers. Ingar Fredriksen AVR Product Marketing Director AVR XMEGA TM A New Reference for 8/16-bit Microcontrollers Ingar Fredriksen AVR Product Marketing Director Kristian Saether AVR Product Marketing Manager Atmel AVR Success Through Innovation First Flash

More information

Section 30. In-Circuit Serial Programming (ICSP )

Section 30. In-Circuit Serial Programming (ICSP ) Section 30. In-Circuit Serial Programming (ICSP ) HIGHLIGHTS This section of the manual contains the following major topics: 30. Introduction... 30-2 30.2 Entering In-Circuit Serial Programming Mode...

More information

DRPIC166X IP Core. High Performance 8-bit RISC Microcontroller v. 2.17

DRPIC166X IP Core. High Performance 8-bit RISC Microcontroller v. 2.17 2017 DRPIC166X IP Core High Performance 8-bit RISC Microcontroller v. 2.17 C O M P A N Y O V E R V I E W Digital Core Design is a leading IP Core provider and a System-on-Chip design house. The company

More information

General Purpose Signal Processors

General Purpose Signal Processors General Purpose Signal Processors First announced in 1978 (AMD) for peripheral computation such as in printers, matured in early 80 s (TMS320 series). General purpose vs. dedicated architectures: Pros:

More information

Introduction to Computers - Chapter 4

Introduction to Computers - Chapter 4 Introduction to Computers - Chapter 4 Since the invention of the transistor and the first digital computer of the 1940s, computers have been increasing in complexity and performance; however, their overall

More information

COSC 122 Computer Fluency. Computer Organization. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 122 Computer Fluency. Computer Organization. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 122 Computer Fluency Computer Organization Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Key Points 1) The standard computer (von Neumann) architecture consists

More information

The Design of Mixed Hardware/Software Systems

The Design of Mixed Hardware/Software Systems The Design of Mixed Hardware/Software Systems Jay K. Adams Synopsys, Inc. 700 East Middlefield Road Mountain View, CA 94043 jka@synopsys.com Donald E. Thomas Deptartment of Electrical and Computer Engineering

More information

Professor E. Ambikairajah UNSW Sydney

Professor E. Ambikairajah UNSW Sydney ELEC2117 Chapter 3a: PIC16F886 Instruction set Professor Eliathamby Ambikairajah Head of School of Electrical Engineering and Telecommunications, UNSW, Sydney 06 March 2017 Prof E Ambikairajah Instruction

More information

VERY LOW POWER MICROPROCESSOR CELL

VERY LOW POWER MICROPROCESSOR CELL VERY LOW POWER MICROPROCESSOR CELL Puneet Gulati 1, Praveen Rohilla 2 1, 2 Computer Science, Dronacharya College Of Engineering, Gurgaon, MDU, (India) ABSTRACT We describe the development and test of a

More information

ECE 354 Introduction to Lab 1. February 5 th, 2003

ECE 354 Introduction to Lab 1. February 5 th, 2003 ECE 354 Introduction to Lab 1 February 5 th, 2003 Lab 0 Most groups completed Lab 0 IDE Simulator Questions? ICD Questions? What s the difference? ECE 354 - Spring 2003 2 Addition to Honesty Policy It

More information

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Fall 2002 EECS150 - Lec06-FPGA Page 1 Outline What are FPGAs? Why use FPGAs (a short history

More information

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Objectives To be familiar with microcontrollers, PIC18F4550 microcontroller. Tools PIC18F4550 Microcontroller, MPLAB software,

More information

Embedded Systems. 7. System Components

Embedded Systems. 7. System Components Embedded Systems 7. System Components Lothar Thiele 7-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

EE 367 Introduction to Microprocessors Homework 6

EE 367 Introduction to Microprocessors Homework 6 EE 367 Introduction to Microprocessors Homework 6 Due Wednesday, March 13, 2019 Announcements: Midterm on March 27 th The exam will cover through Lecture notes, Part 6; Lab 3, Homework 6, and readings

More information

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs? EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Outline What are FPGAs? Why use FPGAs (a short history lesson). FPGA variations Internal logic

More information

VLIW Digital Signal Processor. Michael Chang. Alison Chen. Candace Hobson. Bill Hodges

VLIW Digital Signal Processor. Michael Chang. Alison Chen. Candace Hobson. Bill Hodges VLIW Digital Signal Processor Michael Chang. Alison Chen. Candace Hobson. Bill Hodges Introduction Functionality ISA Implementation Functional blocks Circuit analysis Testing Off Chip Memory Status Things

More information

Chapter 5 Sections 1 6 Dr. Iyad Jafar

Chapter 5 Sections 1 6 Dr. Iyad Jafar Building Assembler Programs Chapter 5 Sections 1 6 Dr. Iyad Jafar Outline Building Structured Programs Conditional Branching Subroutines Generating Time Delays Dealing with Data Example Programs 2 Building

More information

EE 8217 *Reconfigurable Computing Systems Engineering* Sample of Final Examination

EE 8217 *Reconfigurable Computing Systems Engineering* Sample of Final Examination 1 Student name: Date: June 26, 2008 General requirements for the exam: 1. This is CLOSED BOOK examination; 2. No questions allowed within the examination period; 3. If something is not clear in question

More information

PIC12C5XX. 8-Pin, 8-Bit CMOS Microcontroller. CMOS Technology: Devices included in this Data Sheet: High-Performance RISC CPU: Pin Diagram

PIC12C5XX. 8-Pin, 8-Bit CMOS Microcontroller. CMOS Technology: Devices included in this Data Sheet: High-Performance RISC CPU: Pin Diagram This document was created with FrameMaker 404 8-Pin, 8-Bit CMOS Microcontroller PIC12C5XX Devices included in this Data Sheet: PIC12C508 and PIC12C509 are 8-bit microcontrollers packaged in 8-lead packages.

More information

EE 3170 Microcontroller Applications

EE 3170 Microcontroller Applications EE 3170 Microcontroller Applications Lecture 4 : Processors, Computers, and Controllers - 1.2 (reading assignment), 1.3-1.5 Based on slides for ECE3170 by Profs. Kieckhafer, Davis, Tan, and Cischke Outline

More information