A Co-Synthesis Environment for Embedding Digital Systems in a Sea-of-Gates IC
|
|
- Rudolph Fields
- 5 years ago
- Views:
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 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 informationLesson 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 informationDHANALAKSHMI 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 informationCHAPTER 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 informationME 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 informationDERTS 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 informationPIC16F87X. 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 informationMidrange 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 informationECE332, 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 informationECE332, 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 informationNH-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 informationEmbedded 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 informationEmbedded 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 informationIn 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 informationSection 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 informationIntroduction 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 informationConcepts 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 informationEEE111A/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 informationChapter 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 informationPIC 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 informationHardware 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 informationSilicore 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 informationPIC16C52. 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 informationOutlines. 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 informationController 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 informationPIC 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 informationDocumentation 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 informationME 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 informationInput/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 informationHardware/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 informationMicrocontroller 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 informationOutline. 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 informationMicrocontroller Overview
Microcontroller Overview Microprocessors/Microcontrollers/DSP Microcontroller components Bus Memory CPU Peripherals Programming Microcontrollers vs. µproc. and DSP Microprocessors High-speed information
More informationDesign 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 informationUnderstanding 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 informationwhich 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 informationAssembly 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 informationPIC16C84. 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 informationPIC16F8X. 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 informationEE6008-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 informationUNIT 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 informationMicroProcessor. 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 informationComputer 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 informationECE 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 informationVHDL-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 informationHardware 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 informationArea/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 informationMicrocontrollers. 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 informationLecture (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 information1 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 informationVLSI 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 informationRapidly 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 informationIntroduction 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 informationPIC16F8X 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 informationEE 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 informationELC4438: 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 informationSection 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 information1. 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 informationAVR 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 informationTKT-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 informationParameterized 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 informationEmbedded 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 informationIntroduction 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 informationDesign 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 informationIntroduction. 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 informationMechatronics 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 information3.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 informationModel 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 informationComputer 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 informationCOE 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 informationECE 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 informationEEL 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 informationPIC16C 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 informationIn 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 informationEmbedded 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 informationHardware 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 informationPIC16C 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 informationHardware 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 informationBibliography. 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 informationLearning 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 informationAVR 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 informationSection 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 informationDRPIC166X 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 informationGeneral 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 informationIntroduction 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 informationCOSC 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 informationThe 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 informationProfessor 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 informationVERY 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 informationECE 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 informationEECS150 - 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 informationEmbedded 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 informationEmbedded 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 informationEE 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 informationOutline. 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 informationVLIW 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 informationChapter 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 informationEE 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 informationPIC12C5XX. 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 informationEE 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