Beruflich Dokumente
Kultur Dokumente
ARITHMETIC CALCULATOR
A PROJECT REPORT
Submitted by
BACHELOR OF TECHNOLOGY
in
APRIL 2017
BONAFIDE CERTIFICATE
To the best of my knowledge, the matter embodied in the project report has not
been submitted to any other University/Institute for the award of any Degree or
Diploma.
1 ARNAB
BHATTACHARJEE SOFT CORE Dr U.
(13UEEI0001) IMPLEMENTATION SARAVANAKUMAR
ARUN PRKASH R ON FPGA FOR
ASSO. PROFESSOR
2 ARITHMETIC
(13UEEI0002) CALCULATOR
The report of the project work submitted by the above students in partial fulfillment
for the award of Bachelor of Technology in ELECTRONICS &
INSTRUMENTATION ENGINEERING of VELTECH Dr.RR & Dr.SR
UNIVERSITY for the viva-voce examination held at VELTECH Dr.RR & Dr.SR
UNIVERSITY on ________________, has been evaluated and confirmed to be
reports of the work done by the above students.
i
ACKNOWLEDGEMENT
We express our deepest gratitude to our respected Col. Prof. Vel Dr. R.
Rangarajan B.E. (E.E.E), B.E. (MECH), M.S (AUTO), Founder and
President of VELTECH Dr.RR & Dr.SR UNIVERSITY, D.Sc. and Founder
Chancellor Dr. Sagunthala Rangarajan (M.B.B.S), Chair Person &
Managing Trustee Mrs. Rangarajan Mahalakshmi Kishore and Vice
President Mr. K.V.D. Kishore Kumar for encouraging students and providing
us with an environment to complete our project successfully.
We are very thankful to our beloved Vice Chancellor Prof. Beela
Satyanarayana, B.E. (MECH), M.E. (IE), M.Tech(CSE), Ph.D. (IIT, Delhi)
and Pro-Vice Chancellor Dr. U.Chandrasekhar Ph.D., for providing us an
environment to complete our project successfully.
We are obliged to our beloved Registrar Dr. E. Kannan, M.E., Ph.D., for
giving this valuable guidance to complete our project successfully.
We are thankful to our beloved Director-Academics Prof. Dr. Techn.
Koteswara Rao Anne, Director-Industry Relations Prof. Dr. P. Sarasu and
Director International-Academic Quality Prof. Dr. A. Abudhahir for
providing us wonderful environment to complete our project successfully.
We would also thank all the staffs in our department for their guidance to
finish this project successfully. We also like to thank all our friends for their
willing assistance. Words never fill what we owe to our beloved parents for
everything they have done for us.
ii
ABSTRACT
iii
TABLE OF CONTENTS
1 INTRODUCTION 1
1.1 FIELD PROGRAMMABLE GATE ARRAY 1
1.1.1 Partial reconfiguration 2
1.2 ZYNQ FPGA BOARD 2
1.2.1 Zynq zybo 3
1.2.2 Microzed 3
1.2.3 Zedboard 3
1.2.4 ZC702 4
1.3 ZYNQ-7000 ARM FPGA SoC TRAINER 4
BOARD
1.4 KEY FEATURES & BENEFITS 5
1.5 IP CORE (INTELLECTUAL PROPERTY) 6
1.6 SOFT PROCESSORS 6
1.6.1 Why use soft-core processors? 7
1.6.2 Various soft processor offered by vendors 8
1.7 INTEGRATED SOFTWARE DESIGN 8
ENVIRONMENT
iv
1.7.1Vivado Design Suite - Accelerating High 9
Level Design
1.8 PROPOSED SYSTEM 11
2 LITERATURE SURVEY 12
2.1 INTRODUCTION 12
2.2 RESEARCH PAPER LITERATURE SURVEY 12
2.2.1 Implementing a Run-Time System Manager 12
on Partially Reconfigurable FPGA
2.2.2 The Soft Core Processors: A Review 15
2.2.3Multi-Softcore Architecture on FPGA 17
3 METHODOLOGY 19
3.1 INTRODUCTION 19
3.2 FLOW DESIGN FOR SIMULATION 19
3.3REQUIRED IP BLOCKS AND THEIR 20
INTERFACE
3.3.1 Zynq processing system 20
3.3.2 AXI interconnect 22
3.3.3 General Purpose Input Output (GPIO) 25
3.3.4 Processing system reset 26
3.3.5 AXI quad SPI 26
3.4 SYSTEM REQUIREMENTS 28
3.4.1 VIVADO HLS 2016.4 28
3.4.2 PERIPHERAL MODULES 29
3.4.2.1 Digilent PmodKYPD 29
3.4.2.2 Digilent Pmod OLEDrgb 31
3.5 SYSTEM DESIGN IMPLEMENTATION 32
3.5.1 CHIP TO CHIP 33
3.6 FLOW CHART FOR ARITHMETIC 34
CALCULATOR
3.7 VHDL CODING FOR THE ARITHMETIC 36
v
CALCULATOR
4 RESULT ANALYSIS
38
4.1 RESULTS 38
4.1.1 Project summary details 39
4.1.1.1 Power analysis 39
4.1.1.2 Utilization 41
4.1.1.3 Elaborate circuit design 42
4.1.1.4 Simulation 43
REFERENCES 47
APPENDIX 49
vi
LIST OF FIGURES
vii
Figure 4.3 Design timing summary 41
Figure 4.4 Utilization post implementation 41
Figure 4.5 Utilization post synthesis 42
Figure 4.6 Elaborated circuit design 43
Figure 4.7 Simulation diagram 44
LIST OF TABLES
viii
LIST OF ABBREVIATIONS
ix
CHAPTER 1
INTRODUCTION
Field Programmable Gate Arrays (FPGAs) have become popular over the
last decade as they allow designers to create complex digital designs at a low
implementation cost (Figure 1.1). Application Specific Circuits (ASICs), in
contrast, introduce a high initial cost and require a large amount of resources to
create complex designs. Modern FPGAs now occupy central positions in
industry because of their capacity for over 1000 multipliers, megabytes of on-
chip memory, hundreds of thousands of logic cells and clock speeds of up to
half a gigahertz. Moreover, the cost per function in FPGAs decreases
significantly over time [9].
2
1.2.1 Zynq zybo
A good little entry level board with the smallest in the Zynq family, 6
Pmod connectors which is great if you can satisfy your I/O needs with Pmods.
The other options don’t offer so many Pmod connectors on their own. HDMI and
audio is its advantage over the MicroZed. Get the ZYBO if your application is
video/audio and/or you want to take advantage of a few Diligent Pmod
compatible devices.
1.2.2 MicroZed
Best low-cost board purchased with an I/O carrier card to extend the I/O
options. 2 x 50 I/O board-to-board connectors provide opportunity for interfacing
with custom carrier boards. I/O expansion board available if you want to connect
to multiple Pmod devices, add pushbuttons, DIP switches, LEDs, EEPROM,
Xilinx XADC and clock oscillator. The MicroZed, like the ZYBO, has a
minimum of external hardware but the big I/O connectors make it adaptable to a
huge number of applications.
1.2.3 ZedBoard
Best value board in my opinion, with most of the features of the more
expensive boards, the ZedBoard should satisfy a lot of Zynq applications. Pmod
headers for extra I/O. HDMI and audio connections. The ZedBoard sits in the
middle of the range in terms of price but it has great connectivity options.[11]
3
1.2.4 ZC702
4
Figure 1.2 Zynq ZYBO trainer kit[2]
5
1.5 IP core (intellectual property core)
6
1.6.1 Why use soft-core processors?
Another option is to embed a “hard” processor core on the chip. A hard processor
core has dedicated silicon area on the FPGA. This allows it to operate with a core
frequency similar to that of a discrete microprocessor. Examples of hard processor
cores used in FPGAs are the PowerPC used in Virtex-4/5 and the ARM Cortex-
A9 dual-core MCU used in the new Zynq-7000 All Programmable SoC from
Xilinx.
Hard processor core does not provide the ability to adjust it to better meet the
needs of the application, nor does it allow for the flexibility of adding a processor
to an existing FPGA design or adding an additional processor to provide more
processing capabilities.
7
processors that are platform independent and can be implemented in any FPGA
design.
LEON3
MicroBlaze
Nios II
Open RISC
The proven development and verification tools in the Xilinx ISE and
Vivado™ .Design Suites help designers get 7 series FPGA solutions to market
faster and with high quality. The award-winning software includes domain-
specific DSP, embedded-processing and system-level design capabilities. ISE and
Vivado Design Suites include full support for all 7 series devices as well as
advancements that increase team efficiencies for collaborative projects. The
foundation for Next-Generation Targeted Design Platforms Xilinx Targeted
Design Platforms speed time to market and free designers to focus on innovation
and differentiation. The integration of FPGA devices, design tools, and IP into
targeted reference designs that run on development or evaluation boards creates a
robust development and run-time environment. The platforms help designers
more quickly learn about FPGAs and leverage standard or modified tools and IP
to accelerate development. Xilinx teams up with industry leaders to build
customized Base, Domain-Specific, and Market-Specific (Figure 1.3) variations
of the Targeted Design Platform, each introducing common methodologies to
benefit both hardware designers and software application developers. [5]
8
Figure 1.3 Application based usage pyramid
The Vivado® Design Suite offers a new approach for ultra high
productivity with next generation C/C++ and IP-based design with the new HLx
editions including HL System Edition, HL Design Edition and HL
WebPACK™ Edition. The new HLx editions supply design teams with the tools
and methodology needed to leverage C-based design and optimized reuse, IP
sub-system reuse, integration automation and accelerated design closure. When
coupled with the Ultra Fast High-Level Productivity Design Methodology
Guide, this unique combination is proven to accelerate productivity by enabling
designers to work at a high level of abstraction while facilitating design reuse.
Accelerating Verification
Accelerating Implementation
4X Faster Implementation
20% Better Design Density
For the low-end & mid-range and 35% Power Advantage in the high-end.
10
Figure 1.5 – Programming model of ZYNQ 7000
11
CHAPTER 2
LITERATURE SURVEY
2.1 INTRODUCTION
In order to start the project, the first step is to study the research papers
that have been performed previously by other researchers. The paper that is
related to this title are chosen and studied. With the help of this literature survey,
it gives more clear understanding to perform this project.
During recent years several advancements have been made in the FPGA
technology, including but not limited to partial reconfiguration. This new
technology prompted more and more researchers to implement many applications
12
from many different fields on FPGAs taking advantage of PR technology. Also
recently a big part of the research was spent on Operating Systems or Run-Time
System Managers residing on an FPGA system managing the available resources.
In this thesis we present the work done towards the creation and implementation of
an RTSM ported on an actual partially reconfigurable FPGA. In the rest of the
chapter Since the current FPGA technology supports a 2D representation of the
device, the position is described by pairs of x, y coordinates and representing the
bottom-left corner of the rectangle the RR is placed. Regarding the size, for
example, an RR with size 4x5, specifies the number of slices covered by the RR in
x and y dimensions respectively. During the application execution, the RTSM
alters its scheduling decisions in a dynamic fashion. The RTSM reacts according
to dynamic parameters such as the runtime status of each HW/SW task and region,
e.g. executing, idle, scheduled for reconfiguration, scheduled for execution, region
that is free/reconfigured-but-idle/reconfigured-but-active etc. All this information,
about the FPGA condition and the tasks' status, is assessed during run-time and
according to that decisions are made (figure 2.1).
13
Figure 2.1 Flow chart for implementing partial reconfiguration
In this work we presented the extensions and changes made in order to port and im-
plement an RTSM to an actual partially reconfigurable FPGA system. Several of
theseextensions are towards the creation of a high-level RTSM able to handle HW
and SW tasks comprising one or more applications sharing the same Partially
Reconfigurable device. Also the extensions made have widen the range of
applications the RTSM was able to manage, with the inclusion of loop structures,
14
branches and fork-join operations. Additionally the dynamic changes in execution
times of the tasks offer real dynamically capabilities in our RTSM with which
version, either SW or HW, of a task will be executed. The dynamic changes are
extremely beneficial to the overall execution time of the application.[7]
Field Programmable Gate Array (FPGA) devices are used normally for
implementation of parallel algorithms while microprocessors are well known for
sequential algorithms. Application Specific Integrated Circuit (ASIC) design
sometimes need combination of both pertaining to constraints like minimum power
consumption, small area and fewer problems with signal integrity and EMI
(Electromagnetic interference). New industry requirements diminish the life-cycle of
microcontrollers, and several processors became obsolete in shorter periods of time.
The biggest challenge to Hardware architects is fulfillment of new requirements;
which are adaptable characteristics, high performance and power efficiency and
reduction in time to design the product. Flexibility and adaptability are considered
synonyms of reconfigurable technologies. For fast development of System-on-
Programmable-Chip (SoPC), many commercial processors offer memory and logic
elements with a large variety of intellectual Property (IP) peripherals. Also,
reconfigurable systems on a chip became a reality with soft- core processor. The
available Electronic-Design-Automation (EDA) tools help us in constructing
prototypes of Systems-on-a- Chip rapidly and in a very mature way. Hardware
Description Language (HDL) is used for such prototyping. The paper is organized in
four sections as below: Section II summarizes advantages of using soft-core
processors. In section III, a review of several soft-core processors from major
15
commercial vendors as well as open-source communities is covered. We conclude
with few comments on future work in the area of soft-core processors as well as a
comparison among major soft core processors based on important features such as
clock frequency, word-length, pipeline stages etc.[2]
Soft-core processors are normally used for creating an FPGA based SoC. By virtue of
this technology, we can reduce time periods of processor creation life cycle with the
help of recently available EDA tools. The embedded world is looking forward for more
sophisticated reconfigurable devices with features like least power consumption,
16
highest level of adaptability, small size, capability of run-time reconfiguration and
ability to work with adaptive hardware algorithms (Table 2.1).
The requirements for higher computational capacity and lower cost of future
high-end real-time data-intensive applications like multimedia and image processing
(filtering, edge detection, correlation, etc.) are rapidly growing. As a promising
solution, parallel programming and parallel systems-on-chip (SoC) such as clusters,
multiprocessor systems, and grid systems are proposed. Such sophisticated embedded
systems are required to satisfy high demands regarding energy, power, area, and cost
efficiency. Multicore systems working in SIMD/SPMD (Single Instruction Multiple
Data/Single Program Multiple Data) fashion have been shown to be powerful executers
for data-intensive computations and prove very fruitful in pixel processing domain.
Their parallel architecture strongly reduces the amount of memory access and the clock
speed, thereby enabling higher performance. Such multicore systems are made up of an
array of processing elements (PEs) that synchronously execute the same program on
different local data and can communicate through an interconnection network. These
parallel architectures are characterized by their regular design, which enables design
cost effective scaling of the platform for different performance applications by simply
increasing or reducing the number of processors. Although these architectures have
accomplished a great deal of success in solving data-intensive computations their high
price and the long design cycle have resulted in a very low acceptance rate. Designing
specific solutions is a costly and risky investment due to time-to-market constraints and
high design and fabrication costs. Embedded hardware architectures have to be flexible
to a great extent to satisfy the various parameters of multimedia applications. To
overcome these problems, embedded system designers are increasingly relying on field
programmable gate arrays (FPGAs) as target design platforms. Recent FPGAs provide
17
a high level of logic element density with higher end functioning. The proposed design
aims to imply single architectures combined to a system for better tools design methods
(Figure 2.2) [1].
18
CHAPTER 3
METHODOLOGY
3.1 INTRODUCTION
The software tool (VIVADO) needs some basic sequence like any other
programming tool/software (figure 3.1).
19
Design flow using Xilinx Vivado software to create a simple digital circuit using
Verilog HDL. A typical design flow consists of creating models, creating user
constraint files, creating a Vivado project, importing the created models,
assigning created constraint files, optionally running behavioral simulation,
synthesizing the design, implementing the design, generating the bit-stream, and
finally verifying the functionality in the hardware by downloading the generated
bit-stream file.
The desired IP blocks are arranged in typical fashion for the desired
output, the arithmetic calculator using soft processor. Mentioned Below is the
intellectual properties used as an arranged block.
20
Figure 3.2 Architecture of Zynq IP block
21
3.3.2 AXI INTERCONNECT
22
3.3.2.1 Introduction of an axi-bus for the xilinx system development
The feature that makes the Zybo Board especially well-fitted for
hardware acceleration applications is the tight coupling between the PS and the
PL. The ARM processors can be connected directly to any component in the PL
area through the set of general purpose AXI ports and an Extended Multiplexed
I/O (EMIO) port. Besides, there are four high performance (HP) AXI4 ports that
PL components can use to access external memory directly. At max capacity, the
HP AXI4 ports have a bandwidth of 1200 MB/s. The second version of the
Advanced eXtensible Interface (AXI4) bus protocol is used to make the PL, which
is part of the ARM Advanced Microcontroller Bus Architecture (AMBA). The
AXI4 is available in the Xilinx ISE Design Suite which can be applied in the
projects. It is suitable for low latency and high bandwidth designs. Differently, the
AMBA provides high-frequency operation without the use of bridges. It fits the
interface requirements of wide range of components and is suitable for memory
controllers.
There are three kinds of AXI4 interfaces:
• AXI4-Full: For high-performance memory-mapped requirements.
• AXI4-Lite: For simple, low-throughput memory mapped communication.
• AXI4-Stream: For high-speed streaming data.
The AXI specification describes an interface between an AXI Master and an AXI
Slave. They are connected and using a structure called Interconnect block, and in
the case of the AXI4-Full and the AXI4-Lite, it is called an AXI Interconnect. It is
used for the memory mapped interfaces only while the AXI4-stream interconnect
can be utilized for the AXI-4 stream bus implementation. Any of those interfaces
are implementable in the PL. Therefore they can be connected directly to the PS
through a set of AXI4 bus ports. In the rest of this section, the AXI specification
and the protocols explained in the details.
23
AXI4-full and AXI4-lite Protocols
24
3.3.3 General Puprose input output (GPIO)
25
3.3.4 PROCESSING SYSTEM RESET
The Xilinx Processor System Reset Module design allows the customer to
tailor design to suit their application by setting certain parameters to enable/disable
features. The parameterized features of the design are discussed in Processor
System Reset Module Design Parameters (Figure 3.6). [7]
The AXI Quad Serial Peripheral Interface connects the AXI4 interface to
those SPI slave devices which are supporting the Dual or Quad SPI protocol along
26
with Standard SPI protocol instruction set. As an example, this core provides a serial
interface to SPI slave devices such as SPI serial flash from Winbond/Numonyx which
support Dual and Quad SPI protocol along with Standard SPI interface. The Dual/Quad
SPI is the enhancement to the Standard SPI protocol that delivers a simple method for a
master and a selected slave to exchange data. Configurable AXI4 interface when
configured with an AXI4-Lite interface the core is backward compatible with version
1.00 of the core (legacy mode).The configurable AXI4 interface for burst mode
operation for the Data Receive Register (DRR) and the Data Transmit Register (DTR)
FIFO. Configurable eXecute In Place (XIP) mode of operation. Connects as a 32-bit
slave on either AXI4-Lite or AXI4 interface
27
3.4 SYSTEM REQUIREMENTS
Software:
VIVADO HLS 2016.4
Hardware:
• Zybo Zynq FPGA Board
• Peripherals Modules ( 16 button Keypad & led display)
The new Vivado HLx Editions offers a new approach for ultra-high
productivity with next generation platform design automation, C/C++ programming of
the differentiated logic, with graphical system assembly. This approach, described in
the UltraFast High Level Productivity Design Methodology Guide (UG1197), is
proven to accelerate design creation and verification by 15x over RTL-based
methodologies. HLx also complements the Xilinx SDx Development Environments
(SDSoC, SDAccel and SDNet) which are tailored for software and systems engineers.
While the HLx methodology can automate platform design creation, the SDx families
of development environments enable software-defined programming of such platform,
using C, C++, OpenCL, or the emerging P4 language for packet processing. HLx and
SDx represent Xilinx’s new era of software programmability solutions for developing
smarter, connected and differentiated systems leveraging end-product optimized
custom hardware using All Programmable devices including Zynq SoCs, MPSoCs,
ASIC-class FPGAs and 3D ICs.[6]
28
3.4.2 PERIPHERAL MODULES
16 momentary push-buttons
Small PCB size for flexible designs 3.4“× 2.7” (8.6 cm × 6.9 cm)
29
VHDL coding for interfacing keypad
The PmodKYPD communicates with the host board via the GPIO protocol.
Each button is placed within a simple voltage divider circuit. When a button is not
pressed, a large pull-up resistor maintains a logic level high voltage on each of the
row pins. A column pin is driven to a logic level low voltage and a corresponding
The PmodKYPD [3].
entity PmodKYPD is
Port (
clk : in STD_LOGIC;
JA : inout STD_LOGIC_VECTOR (7 downto 0); -- PmodKYPD is
designed to be connected to JA
an : out STD_LOGIC_VECTOR (3 downto 0); -- Controls which
position of the seven segment display to display
seg : out STD_LOGIC_VECTOR (6 downto 0)); -- digit to display on
the seven segment display
end PmodKYPD;
architecture Behavioral of PmodKYPD is
component Decoder is
Port (
clk : in STD_LOGIC;
Row : in STD_LOGIC_VECTOR (3 downto 0);
Col : out STD_LOGIC_VECTOR (3 downto 0);
DecodeOut : out STD_LOGIC_VECTOR (3 downto 0));
end component;
component DisplayController is
Port ( DispVal : in STD_LOGIC_VECTOR (3 downto 0);
anode: out std_logic_vector(3 downto 0);
segOut : out STD_LOGIC_VECTOR (6 downto 0));
end component;
signal Decode: STD_LOGIC_VECTOR (3 downto 0);
30
begin
C0: Decoder port map (clk=>clk, Row =>JA(7 downto 4), Col=>JA(3 downto
0), DecodeOut=> Decode);
C1: Display Controller port map (DispVal=>Decode, anode=>an, segOut=>seg );
end Behavioral;
The RGB LED module with a 96×64 pixel display capable of 16-bit
color resolution (Figure 3.9).
31
Interfacing OLED display
The PmodOLEDrgb communicates with the host board via the SPI
protocol. By driving and keeping the Chip Select (CS) line at logic level low, users
may send both commands and data streams to the display controller based on the
state of the Data/Command (D/C) pin. As a graphical display interface, users may
light up any individual pixel on the OLED, display predefined characters, or even
load bitmaps onto the screen. Each pixel can be set to one of the 65,535 colors that
are available. The OLED display has a specific power-up and power-down
sequence to ensure the longevity of the device. There are two field-effect transistors
(FETs) that control the display’s two power supplies. The VCCEN control toggles
the positive voltage supply to the screen itself and the PMODEN control toggles the
power supply ground to the display. Users may turn off either one of these controls
to reduce the power consumption of the PmodOLEDrgb to approximately 200
mA.[16]
32
Figure 3.10 - Final IP block simulation
The LogiCORE IP AXI Chip2Chip is a soft Xilinx IP core for use with the
Vivado Design Suite. The adaptable block provides bridging between AXI systems for
multi-device System on-chip solutions. The core supports multiple device-to-device
interfacing options and provides a low pin count, high performance AXI chip-to-chip
bridging solution.
33
instance provides an AXI4 slave interface that can be directly connected to AXI Master
or AXI interconnect devices. The AXI Chip2Chip Slave instance provides an AXI4
Master interface that can be connected to AXI Slave or AXI interconnect devices. The
bridging functions in AXI Chip2Chip cores convert the wide on-chip AXI signaling to
a compact device-to-device interfacing by utilizing a minimum set of device I/Os. The
AXI Chip2Chip bridging also implements functions that provide error-free
communication over the device I/Os. The AXI4-Lite configuration option allows
master or slave mode selection. For example, when the processor is connected to an
AXI Chip2Chip Master instance, then an AXI4-Liteinstance can be set to master mode;
this setup will provide an AXI4-Lite slave interface. When peripheral Masters are
connected to an AXI Chip2Chip Master instance, then an AXI4-Lite instance can be
set to slave mode and it will provide an AXI4-lite master interface.AXI Chip2Chip
operations can be categorized into five modules: AXI4 Interface, AXI4-LiteInterface,
Channel Multiplexer, Link Detect FSM, and PHY interface.
34
35
3.7 VHDL CODING FOR THE ARITHMETIC CALCULATOR
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
my_alu is Port
( clk:in std_logic;
A : in std_logic;
B : in std_logic;
I : in std_logic_vector (2 downto 0);
R : out std_logic_vector (3 downto 0));
end my_alu;
architecture Behavioral of my_alu is
begin
process(A, B, clk)
variable temp : integer ;
begin
if (clk'event and clk='1' )then case I is when "000" => --Add (R=A+B)
temp := conv_integer(A)+ conv_integer(B);
R <= transport conv_std_logic_vector(temp,4) after 10 ns ;
when "001" => --Subtract (R=A-B) temp := conv_integer(A) - conv_integer(B);
R <= conv_std_logic_vector(temp,4);
when "010" => -- (R=not of A0)
if (A='0') then R <=conv_std_logic_vector('1',4);
else R <=conv_std_logic_vector('0',4);
36
end if;
when "011" => -- (R=A equal to B) if A = B --then temp:= '1';
then R <=conv_std_logic_vector('1' ,4);
else R <=conv_std_logic_vector('0' ,4);
end if;
when "100" => -- (R=A incremented by 1) 65 temp := (conv_integer(A))+ 1;
R <=conv_std_logic_vector(temp,4);
when "101" => -- (R=A modulus to B) temp := conv_integer(A) mod 10;
R<= conv_std_logic_vector(temp,4);
when "110" => -- (R=remainder of A) temp := conv_integer(A)rem 10;
R<= conv_std_logic_vector(temp, 4);
when others=> R<="1111";
end case;
end if;
end process;
end Behavioral;
37
CHAPTER 4
RESULT ANALYSIS
4.1 RESULTS
After the successful implementation of the IP blocks, the system validation is
checked and designed blocks are shown, the occupied blocks with logics is shown in
sky blue color (Figure 4.1). More the number of components and more is the DSP
blocks, RAMs, LUTs are being used during synthesis.
38
4.1.1 Project summary details
The power from transistor leakage on all connected voltage rails and the
circuits required for the FPGA to operate normally, post configuration. Device static
power is a function of process, voltage and temperature. This represents the steady
state, intrinsic leakage in the device.
39
Figure 4.2 - Power analysis from the implemented netlist
The power of user design due to the input data pattern and the designed internal
activity can be described. This power is instantaneous and varies at each clock cycle.
It depends on voltage levels and logic and routing resources used. This also includes
static current from I/O terminations, clock managers, and other circuits which need
power when used. It does not include power supplied to off-chip devices (Figure 4.2).
The Timing Summary section is an overview (Figure 4.3) of the design that includes:
Timing errors, which is the cumulative number of errors for the entire design.
Score, which is the sum of all timing errors in pico second.
Constraints coverage, which shows the number of paths, net and connections
covered by constraints.
Design statistics, which shows the overall period, input, and output times. It is
for all clocks and is limited by the slowest path.
40
Figure 4.3 – Design Timing Summary
4.1.1.2 Utilization
41
Figure 4.5 Utilization post synthesis
All these summary description gives the idea to implement more efficient
designing and synthesis of intellectual properties. The summary will react to each
and every change made post implementation thus gives a proper tracing of
utilization (Figure 4.4 & Figure 4.5).
42
Figure 4.6 Elaborated circuit design
4.1.1.4 Simulation
The parameters given in the program can be seen in simulation and can be
verified without any hardware kit. The VHDL code given to the zynq processing
system simulated and the port assingned ar shown (Figure 4.7).
43
Figure 4.7- Simulation diagram
44
CHAPTER 5
5.1 CONCLUSION
The system is designed for a user defined system using available intellectual
properties for the dedicated for a particular soft processing system, our purpose to
develop a digital calculator using Pmod peripheral was developed, which gave us the
edge to reconfigure the calculation part and customize according to our need. IP
blocks was connected and interfaced with Pmod.
Xilinx VIVADO 2016.4 was used a base software for simulating design in ZYBO
board. The user accountability and cost effectiveness of Zybo board was the main
motivation of using this board. Pmod interfacing in Zybo board is comparatively
easier to other boards.
45
(GPUs) accommodate very powerful and very complex ALUs; a single component
may contain a number of ALUs. Hence the ALU interfaced with various devices will
find its application in almost every electronic device. Full ALU can be designed and
simulated with proper IP blocks.
46
REFERENCES
5. Louise H. Crocket and Ross A. Elliot: The Zynq Book Tutorials. University of
Strathclyde Glasgow, Scotland,UK, 2015.
47
10. Partial Reconfiguration (02/03/2107) ,” IP vendors and design”
https://pdfs.semanticscholar.org/0863/cb49ed8b54f1e98f9349b68c28e6ebf3dad
11 Virtex-6 FPGA, Xilinx (2013) (1/03/2107), “types of FPGA” [Xilinx]
http://www.xilinx.com/support/documentation/data_sheets/ds150.pdf. Accessed 12
Dec 2013.
12 Zynq-7000 All Programmable SoC Technical Reference Manual(29/02/2017)
https://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-
TRM.pdf
15. Franjo Plavec, Blair Fort, Zvonko G. Vranesic, Stephen D. Brown “Experiences
with Soft-Core Processor Design”,19th IEEE International Parallel and Distributed
Processing Symposium ,2015.
48
APPENDIX : SUCCESSFUL REPORT
Found 1-bit adder carry out for signal <R$addsub0000> created at line 49.
Found 1-bit adder carry out for signal <R$addsub0001> created at line 75.
Found 4-bit 8-to-1 multiplexer for signal <R$mux0001> created at line 47.
Found 1-bit subtractor for signal <R$sub0000> created at line 54.
Found 1-bit xor2 for signal <R$xor0000> created at line 66.
Summary:
inferred 3 Adder/Subtractor(s).
inferred 4 Multiplexer(s).
49
4-bit latch : 1 70
50
51
52