Introduction to the ARM Architecture

Total Page:16

File Type:pdf, Size:1020Kb

Introduction to the ARM Architecture Introduction to the ARM Architecture Max Mauro Dias Santos [email protected] Ponta Grossa, Paraná - Brazil February 12, 2021 Agenda . Introduction to ARM . Architecture . Programmers Model . Instruction Set . System Design . Development Tools ARM Partnership Model Design Manufacture Market ARM Powered Products ARM Powered Products ARM Powered Products ARM 7 applications ARM9 applications ARM11 applications ARM CortexM applications . Dell E4300 Latitude Laptop . The hardware is used at the instant of boot-up for users and access to select applications, with multi-day battery lifetimes ARM CortexA applications ARM CortexR Agenda . Introduction to ARM . Architecture . Programmers Model . Instruction Set . System Design . Development Tools Intellectual Property . ARM provides hard and soft views to licenses . RTL and synthesis flows . GDSII layout . Licenses have the right to use hard or soft views of the IP . soft views include gate level netlists . hard views are DSMs . OEMs must use hard views . to protect ARM IP Topologies Memory-mapped I/O: Von Neumann Harvard . No specific instructions for I/O (use ARM9s Load/Store instr. instead) ARM7s and newers and olders . Peripheral’s registers at some Inst. Data memory addresses AHB bus I D Cache Cache MEMORY & I/O Bus Interface AHB bus MEMORY & I/O ARM7TDMI Block Diagram A[31:0] Address Register Address Incrementer PC bus PC REGISTER BANK INSTRUCCTION ALU bus DECODER Multiplier Control Lines A bus B bus SHIFT A.L.U. Instruction Reg. Thumb to ARM Write Data Reg. Read Data Reg. translator D[31:0] ARM7TDMI Block Diagram . Load/store architecture . A large array of uniform registers . Fixed-length 32-bit instructions . 3-address instructions RISC Architecture . Berkeley incorporated a Reduced Instruction Set Computer (RISC) architecture. It has the following key features: . A fixed (32-bit) instruction size with few formats; . CISC processors typically had variable length instruction sets with many formats. A load–store architecture where instructions that process data operate only on registers and are separate from instructions that access memory; . CISC processors typically allowed values in memory to be used as operands in data processing instructions. A large register bank of thirty-two 32-bit registers, all of which could be used for any purpose, to allow the load- store architecture to operate efficiently; . CISC register sets were getting larger, but none was this large and most had different registers for different purposes February 12, 18 2021 RISC Organization . Hard-wired instruction decode logic . CISC processor used large microcode ROMs to decode their instructions . Pipelined execution . CISC processors allowed little, if any, overlap between consecutive instructions (though they do now) . Single-cycle execution . CISC processors typically took many clock cycles to completes a single instruction → Simple is beauty Compiler plays an important role February 12, 19 2021 ARM Architecture vs. Berkeley RISC . Features used . Load/Store architecture . Fixed-length 32-bit instructions . 3-address instruction formats f bits n bits n bits n bits function op 1 addr. op 2 addr. dest. addr. ADD d, S1, S2 ; d := S1 + S2 . Features rejected . Register windows → costly . Use shadow (banked) registers in ARM . Delay branch . Badly with branch prediction . Single-cycle execution of all instructions . Most single cycle, many other take multiple clock cycles February 12, 20 2021 ARM Features . Different from pure RISC in several ways: . Variable cycle execution for certain instructions: multiple-register load/store (faster/higher code density) . Inline barrel shifter leading to more complex instructions: improves performance and code density . Thumb 16-bit instruction set: 30% code density improvement . Conditional execution: improve performance and code density by reducing branch . Enhanced instructions: DSP instructions February 12, 21 2021 Data Sizes and Instruction Sets . The ARM is a 32-bit architecture. When used in relation to the ARM: . Byte means 8 bits . Halfword means 16 bits (two bytes) . Word means 32 bits (four bytes) . Most ARM’s implement two instruction sets . 32-bit ARM Instruction Set . 16-bit Thumb Instruction Set Data Types . ARM processor supports 6 data types . 8-bits signed and unsigned bytes . 16-bits signed and unsigned half-word, aligned on 2-byte boundaries . 32-bits signed and unsigned words, aligned on 4-byte boundaries . ARM instructions are all 32-bit words, word-aligned . Thumb instructions are half-words, aligned on 2-byte boundaries February 12, 23 2021 ARM Pipelining examples . Fetch: Read Op-code from memory to internal Instruction Register . Decode: Activate the appropriate control lines depending on Opcode . Execute: Do the actual processing ARM7TDMI Pipeline FETCH DECODE EXECUTE Reg. Reg. Read Shift ALU Write 1 Clock cycle ARM9TDMI Pipeline FETCH DECODE EXECUTE MEMORY WRITE Reg. Reg. Shift ALU access Read Write 1 Clock cycle ARM7TDMI Pipelining (I) . Simple instructions (like ADD) Complete at a rate of one per cycle 1 FETCH DECODE EXECUTE 2 FETCH DECODE EXECUTE 3 FETCH DECODE EXECUTE instruction time ARM7TDMI Pipelining (II) • More complex instructions: 1 ADD FETCH DECODE EXECUTE 2 STR FETCH DECODE Cal. ADDR Data Xfer. 3 ADD FETCH stall DECODE EXECUTE 4 ADD FETCH stall DECODE EXECUTE 5 ADD FETCH DECODE EXECUTE instruction time STR : 2 effective clock cycles (+1 cycle) Arithmetic and Carry Flag • Same as 6502, PowerPC (Borrow = not Carry) • In contrast with Z80, Intel x86, m68k, many others (Borrow = Carry) Carry flag behavior for subtraction SBC R, #0 (4-bit examples) A B R 32 32 1 0 1 0 SUB 1 1 1 1 #0 0 Ci 32 Co 1 1 0 0 1 = 0 for ADD Co adder Ci = 1 for SUB 1 0 1 0 R to C_flag = C_flag for ADC, SBC 32 1 1 1 1 #0 1 Ci Co ALU equivalent for arithmetic instructions 1 1 0 1 0 Carry acts as an inverted borrow Agenda . Introduction to ARM . Architecture . Programmers Model . Instruction Set . System Design . Development Tools Processor Modes . The ARM has seven operating modes: . User: unprivileged mode under which most tasks run . FIQ: entered when a high priority (fast) interrupt is raised . IRQ: entered when a low priority (normal) interrupt is raised . SVC: (Supervisor) entered on reset and when a Software Interrupt instruction is executed . Abort: used to handle memory access violations . Undef: used to handle undefined instructions . System: privileged mode using the same registers as user mode The Registers . ARM has 37 registers all of which are 32-bits long. 1 dedicated program counter . 1 dedicated current program status register . 5 dedicated saved program status registers . 30 general purpose registers . The current processor mode governs which of several banks is accessible. Each mode can access . a particular set of r0-r12 registers . a particular r13 (the stack pointer, sp) and r14 (the link register, lr) . the program counter, r15 (pc) . the current program status register, cpsr . Privileged modes (except System) can also access . a particular spsr (saved program status register) The ARM Register Set Current Visible Registers rr00 IRQFIQUndefUserSVCAbort ModeMode ModeMode ModeMode r1 rr22 rr33 Banked out Registers rr44 rr55 User, r6 User FIQ IRQ SVC Undef Abort r7r7 SYS rr88 r8 rr88 r9 r9 r9 rr1010 r10 r10r10 rr1111 r11 r11 rr1212 r12 r12 rr1313 (sp) rr1313 (sp) rr1313 (sp) rr1313 (sp) r13r13 (sp) r13 (sp) rr1313 (sp) r14 (lr) rr1414 (lr) r14 (lr) rr1414 (lr) r14 (lr) rr1414 (lr) r14 (lr) r15r15 (pc) cpsr spsr spsr spsr spsr spsr spsr Special Registers . Special function registers: . PC (R15): Program Counter. Any instruction with PC as its destination register is a program branch . LR (R14): Link Register. Saves a copy of PC when executing the BL instruction (subroutine call) or when jumping to an exception or interrupt routine - It is copied back to PC on the return from those routines . SP (R13): Stack Pointer. There is no stack in the ARM architecture. Even so, R13 is usually reserved as a pointer for the program-managed stack . CPSR : Current Program Status Register. Holds the visible status register . SPSR : Saved Program Status Register. Holds a copy of the previous status register while executing exception or interrupt routines - It is copied back to CPSR on the return from the exception or interrupt - No SPSR available in User or System modes Register Organization Summary User, FIQ IRQ SVC Undef Abort SYS r0 r1 User r2 mode r3 r0-r7, r4 r15, User User User User r5 and mode mode mode mode cpsr r0-r12, r0-r12, r0-r12, r0-r12, r6 r15, r15, r15, r15, r7 and and and and r8 r8 cpsr cpsr cpsr cpsr r9 r9 r10 r10 r11 r11 r12 r12 r13 (sp) r13 (sp) r13 (sp) r13 (sp) r13 (sp) r13 (sp) r14 (lr) r14 (lr) r14 (lr) r14 (lr) r14 (lr) r14 (lr) r15 (pc) cpsr spsr spsr spsr spsr spsr Note: System mode uses the User mode register set Program Status Registers Condition code flags N = Negative result from ALU Z = Zero result from ALU C = ALU operation Carried out V = ALU operation oVerflowed • Interrupt Disable bits. 31 28 27 24 23 16 15 8 7 6 5 4 0 • I = 1: Disables the IRQ. N Z C V undefined I F T mode • F = 1: Disables the FIQ. f s x c • T Bit (Arch. with Thumb mode only) • T = 0: Processor in ARM state Mode bits • T = 1: Processor in Thumb state 10000 User • Never change T directly (use BX 10001 FIQ instead) 10010 IRQ • Changing T in CPSR will lead to 10011 Supervisor unexpected behavior due to pipelining 10111 Abort 11011 Undefined • Tip: Don’t change undefined bits. 11111 System • This allows for code compatibility with newer ARM processors Program Counter (r15) . When the processor is executing in ARM state: . All instructions are 32 bits wide . All instructions must be word aligned . Therefore the pc value is stored in bits [31:2] with bits [1:0] undefined (as instruction cannot be halfword or byte aligned).
Recommended publications
  • Implementation of Optimized CORDIC Designs
    IJIRST –International Journal for Innovative Research in Science & Technology| Volume 1 | Issue 3 | August 2014 ISSN(online) : 2349-6010 Implementation of Optimized CORDIC Designs Bibinu Jacob Reenesh Zacharia M Tech Student Assistant Professor Department of Electronics & Communication Engineering Department of Electronics & Communication Engineering Mangalam College Of Engineering, Ettumanoor Mangalam College Of Engineering, Ettumanoor Abstract CORDIC stands for COordinate Rotation DIgital Computer, which is likewise known as Volder's algorithm and digit-by-digit method. It is a simple and effective method to calculate many functions like trigonometric, hyperbolic, logarithmic etc. It performs complex multiplications using simple shifts and additions. It finds applications in robotics, digital signal processing, graphics, games, and animation. But, there isn't any optimized CORDIC designs for rotating vectors through specific angles. In this paper, optimization schemes and CORDIC circuits for fixed and known rotations are proposed. Finally an argument reduction technique to map larger angle to an angle less than 45 is discussed. The proposed CORDIC cells are simulated by Xilinx ISE Design Suite and shown that the proposed designs offer less latency and better device utilization than the reference CORDIC design for fixed and known angles of rotation. Keywords: Coordinate rotation digital computer (CORDIC), digital signal processing (DSP) chip, very large scale integration (VLSI) _______________________________________________________________________________________________________ I. INTRODUCTION The advances in the very large scale integration (VLSI) technology and the advent of electronic design automation (EDA) tools have been directing the current research in the areas of digital signal processing (DSP), communications, etc. in terms of the design of high speed VLSI architectures for real-time algorithms and systems which have applications in the above mentioned areas.
    [Show full text]
  • Master's Thesis
    Implementation of the Metal Privileged Architecture by Fatemeh Hassani A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Masters of Mathematics in Computer Science Waterloo, Ontario, Canada, 2020 c Fatemeh Hassani 2020 Author's Declaration I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. ii Abstract The privileged architecture of modern computer architectures is expanded through new architectural features that are implemented in hardware or through instruction set extensions. These extensions are tied to particular architecture and operating system developers are not able to customize the privileged mechanisms. As a result, they have to work around fixed abstractions provided by processor vendors to implement desired functionalities. Programmable approaches such as PALcode also remain heavily tied to the hardware and modifying the privileged architecture has to be done by the processor manufacturer. To accelerate operating system development and enable rapid prototyping of new operating system designs and features, we need to rethink the privileged architecture design. We present a new abstraction called Metal that enables extensions to the architecture by the operating system. It provides system developers with a general-purpose and easy- to-use interface to build a variety of facilities that range from performance measurements to novel privilege models. We implement a simplified version of the Alpha architecture which we call µAlpha and build a prototype of Metal on this architecture.
    [Show full text]
  • Arithmetic and Logical Unit Design for Area Optimization for Microcontroller Amrut Anilrao Purohit 1,2 , Mohammed Riyaz Ahmed 2 and R
    et International Journal on Emerging Technologies 11 (2): 668-673(2020) ISSN No. (Print): 0975-8364 ISSN No. (Online): 2249-3255 Arithmetic and Logical Unit Design for Area Optimization for Microcontroller Amrut Anilrao Purohit 1,2 , Mohammed Riyaz Ahmed 2 and R. Venkata Siva Reddy 2 1Research Scholar, VTU Belagavi (Karnataka), India. 2School of Electronics and Communication Engineering, REVA University Bengaluru, (Karnataka), India. (Corresponding author: Amrut Anilrao Purohit) (Received 04 January 2020, Revised 02 March 2020, Accepted 03 March 2020) (Published by Research Trend, Website: www.researchtrend.net) ABSTRACT: Arithmetic and Logic Unit (ALU) can be understood with basic knowledge of digital electronics and any engineer will go through the details only once. The advantage of knowing ALU in detail is two- folded: firstly, programming of the processing device can be efficient and secondly, can design a new ALU architecture as per the various constraints of the use cases. The miniaturization of digital circuits can be achieved by either reducing the size of transistor (Moore’s law) or by optimizing the gate count of the circuit. The first has been explored extensively while the latter has been ignored which deals with the application of Boolean rules and requires sound knowledge of logic design. The ultimate outcome is to have an area optimized architecture/approach that optimizes the circuit at gate level. The design of ALU is for various processing devices varies with the device/system requirements. The area optimization places a significant role in the chip design. Here in this work, we have attempted to design an ALU which is area efficient while being loaded with additional functionality necessary for microcontrollers.
    [Show full text]
  • 8-Bit Barrel Shifter That May Rotate the Data in Both Direction
    © 2018 IJRAR December 2018, Volume 5, Issue 04 www.ijrar.org (E-ISSN 2348-1269, P- ISSN 2349-5138) Performance Analysis of Low Power CMOS based 8 bit Barrel Shifter Deepti Shakya M-Tech VLSI Design SRCEM Gwalior (M.P) INDIA Shweta Agrawal Assistant Professor, Dept. Electronics & Communication Engineering SRCEM Gwalior (M.P), INDIA Abstract Barrel Shifter isimportant function to optimize the RISC processor, so it is used for rotating and transferring the data either in left or right direction. This shifter is useful in lots of signal processing ICs. The Arithmetic and the Logical Shifters additionally can be changed by the Barrel Shifter Because with the rotation of the data it also supply the utility the data right, left changeall mathemetically or logically.A purpose of this paper is to design the CMOS 8 bit barrel shifter using universal gates with the help of CMOS logic and the most important 2:1 multiplexers (MUX). CMOS based 8 bit barrel shifter has implemented in this paper and compared in terms of delay and power using 90 nm and 45nm technologies. Key Words: CMOS, Low Power, Delay,Barrel Shifter, PMOS, NMOS, Cadence. 1. Introduction In RISC processor ALU plays math and intellectual operations. Number crunching operations operate enlargement, subtraction, addition and division such as sensible operations incorporates AND, OR, NOT, NAND, NOR, XNOR and XOR. RISC processor consist ofnotice in credentials used to keep the operand in store path. The point of control unit is to give a control flag that controls the operation of the processor which tells the small scale building design which operation is done after then the time Barrel shifter is a significant element among rise operation.
    [Show full text]
  • A Lisp Oriented Architecture by John W.F
    A Lisp Oriented Architecture by John W.F. McClain Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degrees of Master of Science in Electrical Engineering and Computer Science and Bachelor of Science in Electrical Engineering at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY September 1994 © John W.F. McClain, 1994 The author hereby grants to MIT permission to reproduce and to distribute copies of this thesis document in whole or in part. Signature of Author ...... ;......................... .............. Department of Electrical Engineering and Computer Science August 5th, 1994 Certified by....... ......... ... ...... Th nas F. Knight Jr. Principal Research Scientist 1,,IA £ . Thesis Supervisor Accepted by ....................... 3Frederic R. Morgenthaler Chairman, Depattee, on Graduate Students J 'FROM e ;; "N MfLIT oARIES ..- A Lisp Oriented Architecture by John W.F. McClain Submitted to the Department of Electrical Engineering and Computer Science on August 5th, 1994, in partial fulfillment of the requirements for the degrees of Master of Science in Electrical Engineering and Computer Science and Bachelor of Science in Electrical Engineering Abstract In this thesis I describe LOOP, a new architecture for the efficient execution of pro- grams written in Lisp like languages. LOOP allows Lisp programs to run at high speed without sacrificing safety or ease of programming. LOOP is a 64 bit, long in- struction word architecture with support for generic arithmetic, 64 bit tagged IEEE floats, low cost fine grained read and write barriers, and fast traps. I make estimates for how much these Lisp specific features cost and how much they may speed up the execution of programs written in Lisp.
    [Show full text]
  • 4-Bit Barrel Shifter Using Transmission Gates
    4-BIT BARREL SHIFTER USING TRANSMISSION GATES M.Muralikrishna1, Nadikuda yadagiri2, GuntupallySai chaitanya3, PalugulaPranay Reddy4 1ECE, Assistant Professor, Anurag Group of Institutions/JNTU University, Hyderabad 2, 3, 4ECE, Anurag Group of Institutions/JNTU University, Hyderabad Abstract In Arithmetic shifter the procedure for Barrel shifter plays an important role in the left shifting is same as logical but in case of floating point arithmetic operations and right shifting the empty spot is filled by signed optimizing the RISC processor and used for bit. Funnel Shifter is combination of all shifters rotating andshifting the data either in left or and rotator In this paper barrel shifter is right direction. This shifter is useful in many designed using multiplexer and implemented signal processing ICs. The arithmetic and using CMOS logic.The MUX used is made with logical shifter are itself a type of barrel the help of universal gates so that the time delay shifter. The main objective of this paper is to and power dissipation is reduced. design a fully custom two bit barrel shifter using 4x1 multiplexer with the help of II. BARREL SHIFTER transmission gates and analyze the A barrel shifter is a digital circuit that can performance on basis of power consumption, shift a data word by a specified number of bits and no of transistors. The tool used to fulfill without the use of any sequential logic, only the purpose is cadence virtuoso using 180nm pure combinatorial logic. One way to technology. implement it is as a sequence of multiplexers Keywords: Barrel shifter, Transmission where the output of one multiplexer is gates, Multiplexer connected to the input of the next multiplexer in a way that depends on the shift distance.
    [Show full text]
  • Tms320c54x DSP Functional Overview
    TMS320C54xt DSP Functional Overview Literature Number: SPRU307A September 1998 – Revised May 2000 Printed on Recycled Paper TMS320C54x DSP Functional Overview This document provides a functional overview of the devices included in the Texas Instrument TMS320C54xt generation of digital signal processors. Included are descriptions of the central processing unit (CPU) architecture, bus structure, memory structure, on-chip peripherals, and the instruction set. Detailed descriptions of device-specific characteristics such as package pinouts, package mechanical data, and device electrical characteristics are included in separate device-specific data sheets. Topic Page 1.1 Features. 2 1.2 Architecture. 7 1.3 Bus Structure. 13 1.4 Memory. 15 1.5 On-Chip Peripherals. 22 1.5.1 Software-Programmable Wait-State Generators. 22 1.5.2 Programmable Bank-Switching . 22 1.5.3 Parallel I/O Ports. 22 1.5.4 Direct Memory Access (DMA) Controller. 23 1.5.5 Host-Port Interface (HPI). 27 1.5.6 Serial Ports. 30 1.5.7 General-Purpose I/O (GPIO) Pins. 34 1.5.8 Hardware Timer. 34 1.5.9 Clock Generator. 34 1.6 Instruction Set Summary. 36 1.7 Development Support. 47 1.8 Documentation Support. 50 TMS320C54x DSP Functional Overview 1 Features 1.1 Features Table 1–1 provides an overview the TMS320C54x, TMS320LC54x, and TMS320VC54x fixed-point, digital signal processor (DSP) families (hereafter referred to as the ’54x unless otherwise specified). The table shows significant features of each device, including the capacity of on-chip RAM and ROM, the available peripherals, the CPU speed, and the type of package with its total pin count.
    [Show full text]
  • The Implementation of Prolog Via VAX 8600 Microcode ABSTRACT
    The Implementation of Prolog via VAX 8600 Microcode Jeff Gee,Stephen W. Melvin, Yale N. Patt Computer Science Division University of California Berkeley, CA 94720 ABSTRACT VAX 8600 is a 32 bit computer designed with ECL macrocell arrays. Figure 1 shows a simplified block diagram of the 8600. We have implemented a high performance Prolog engine by The cycle time of the 8600 is 80 nanoseconds. directly executing in microcode the constructs of Warren’s Abstract Machine. The imulemention vehicle is the VAX 8600 computer. The VAX 8600 is a general purpose processor Vimal Address containing 8K words of writable control store. In our system, I each of the Warren Abstract Machine instructions is implemented as a VAX 8600 machine level instruction. Other Prolog built-ins are either implemented directly in microcode or executed by the general VAX instruction set. Initial results indicate that. our system is the fastest implementation of Prolog on a commercrally available general purpose processor. 1. Introduction Various models of execution have been investigated to attain the high performance execution of Prolog programs. Usually, Figure 1. Simplified Block Diagram of the VAX 8600 this involves compiling the Prolog program first into an intermediate form referred to as the Warren Abstract Machine (WAM) instruction set [l]. Execution of WAM instructions often follow one of two methods: they are executed directly by a The 8600 consists of six subprocessors: the EBOX. IBOX, special purpose processor, or they are software emulated via the FBOX. MBOX, Console. and UO adamer. Each of the seuarate machine language of a general purpose computer.
    [Show full text]
  • Algorithms and Hardware Designs for Decimal Multiplication
    Algorithms and Hardware Designs for Decimal Multiplication by Mark A. Erle Presented to the Graduate and Research Committee of Lehigh University in Candidacy for the Degree of Doctor of Philosophy in Computer Engineering Lehigh University November 21, 2008 Approved and recommended for acceptance as a dissertation in partial ful¯llment of the requirements for the degree of Doctor of Philosophy. Date Accepted Date Dissertation Committee: Dr. Mark G. Arnold Chair Dr. Meghanad D. Wagh Member Dr. Brian D. Davison Member Dr. Michael J. Schulte External Member Dr. Eric M. Schwarz External Member Dr. William M. Pottenger External Member iii This dissertation is dedicated to Michele, Laura, Kristin, and Amy. v Acknowledgements Along the path to completing this dissertation, I have traversed the birth of my third daughter, the passing of my mother, and the passing of my father. Fortunately, I have not been alone, for I have been traveling with God, family, and friends. I am appreciative of the support I received from IBM all along the way. There are several colleagues with whom I had the good fortune to collaborate on several papers, and to whom I am very grateful, namely Dr. Eric Schwarz, Mr. Brian Hickmann, and Dr. Liang-Kai Wang. Additionally, I am thankful for the guidance and assistance from my dissertation committee which includes Dr. Michael Schulte, Dr. Mark Arnold, Dr. Meghanad Wagh, Dr. Brian Davison, Dr. Eric Schwarz, and Dr. William Pottenger. In particular, I am indebted to Dr. Schulte for his mentorship, encouragement, and rapport. Now, ¯nding myself at the end of this path, I see two roads diverging..
    [Show full text]
  • Fpga Implementation of Barrel Shifter Using Revesible Logic
    Australian Journal of Basic and Applied Sciences, 11(8) Special 2017, Pages: 56-64 AUSTRALIAN JOURNAL OF BASIC AND APPLIED SCIENCES ISSN:1991-8178 EISSN: 2309-8414 Journal home page: www.ajbasweb.com Fpga Implementation Of Barrel Shifter Using Revesible Logic 1Divya Bansal and 2Rachna manchanda 1VLSI student,ECE department,Chandigarh engineering college,Landra (India). 2Associate professor, ECE department ,Chandigarh engineering college,Landra(India). Address For Correspondence: Divya Bansal, VLSI student,ECE department,Chandigarh engineering college,Landra (India), E-mail: [email protected]. ARTICLE INFO ABSTRACT Article history: Background: The most critical issue at the present time is reversible logic gates and the Received 18 February 2017 quantum circuits which have numerous advantages above binary quantum logic Accepted 15 May 2017 circuits. They have various applications in different areas like in digital processing Available online 18 May 2017 systems (DSP), low power Complementary MOSFET circuits, dot quantum cellular automata, optical computing, nanotechnology, cryptography, computer graphics, DNA computing, quantum computing, communication. Moreover they are fulfilling the basic requirement the low power consumption in VLSI circuits due to the reason that no Keywords: information is being lost in reversible circuits. Ternary Feynman Gate, Modified Reversible logic, Fredkin gate, ternary Fredkin gate, ternary toffoli gate, and ternary and Modified peres gate etc are the basic Peres gate, Barrel shifter, MS gate reversible logic gates used over here . Barrel shifter has also found its importance in Reversible technology. Objective: This paper presents the proposed design of the improved bi-directional and Uni-directional barrel shifter using modified Peres gate. Results: All the results are being extracted using XLINX ISE Design tool 14.5.
    [Show full text]
  • PDSP1601/PDSP1601A PDSP1601/PDSP1601A ALU and Barrel Shifter
    PDSP1601/PDSP1601A PDSP1601/PDSP1601A ALU and Barrel Shifter DS3705 ISSUE 3.0 November 1998 The PDSP1601 is a high performance 16-bit arithmetic PIN 1A INDEX MARK logic unit with an independent on-chip 16-bit barrel shifter. ON TOP SURFACE The PDSP1601A has two operating modes giving 20MHz or A 10MHz register-to-register transfer rates. B The PDSP1601 supports Multicycle multiprecision C operation. This allows a single device to operate at 20MHz for D E 16-bit fields, 10MHz for 32-bit fields and 5MHz for 64-bit fields. F The PDSP1601 can also be cascaded to produce wider words G H at the 20MHz rate using the Carry Out and Carry In pins. The J Barrel Shifter is also capable of extension, for example the K PDSP1601 can used to select a 16-bit field from a 32-bit input L in 100ns. 11 10 9 8 7 6 5 4 3 2 1 AC84 FEATURES ■ 16-bit, 32 instruction 20MHz ALU ■ 16-bit, 20MHz Logical, Arithmetic or Barrel Shifter ■ Independent ALU and Shifter Operation ■ 4 x 16-bit On Chip Scratchpad Registers GC100 ■ Multiprecision Operation; e.g. 200ns 64-bit Accumulate ■ Three Port Structure with Three Internal Feedback Paths Eliminates I/O Bottlenecks ■ Block Floating Point Support ■ 300mW Maximum Power Dissipation Fig.1 Pin connections - bottom view ■ 84-pin Pin Grid Array or 84 Contact LCC Packages or 100 pin Ceramic Quad Flat Pack APPLICATIONS ORDERING INFORMATION ■ Digital Signal Processing ■ Array Processing PDSP1601 MC GGCR 10MHz MIL883 Screened - QFP package ■ Graphics ■ Database Addressing PDSP1601A BO AC 20MHz Industrial - PGA ■ High Speed Arithmetic
    [Show full text]
  • Design of an Optimized CORDIC for Fixed Angle of Rotation
    International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 3 Issue 2, February - 2014 Design of an Optimized CORDIC for Fixed Angle of Rotation M. S. Parvathy Anas A. S PG student, VLSI & Embedded Systems, ECE Department Assistant professor, ECE Department TKM Institute of Technology TKM Institute of Technology Karuvelil P.O, Kollam, Kerala-691505, India Karuvelil P.O, Kollam, Kerala-691505, India Abstract— The CORDIC algorithm is a technique for efficiently by rotating the coordinate system through constant angles until implementing the trigonometric functions and hyperbolic the angle is reduces to zero. functions.Vector rotation through fixed and known angles has CORDIC algorithm is very attractive for hardware wide applications in various areas. But there is no optimized implementation because less power dissipation, compactable coordinate rotation digital computer (CORDIC) design for & simple in design. Less power dissipation and compact vector-rotation through specific angles. FPGA based CORDIC design for fixed angle of rotation provides optimization schemes because it uses only elementary shift-and-add operations to and CORDIC circuits for fixed and known rotations with perform the vector rotation so it only needs the use of 2 shifter different levels of accuracy. For reducing the area and time and 3 adder modules. Simplicity is due to elimination of complexities, a hardwired pre-shifting scheme in barrel-shifters multiplication with only addition, subtraction and bit-shifting of the CORDIC circuits is used. Pipelined schemes are suggested operation. Either if there is an absence of a hardware further for cascading dedicated single-rotation units and bi- multiplier (e.g.
    [Show full text]