1 views

Uploaded by Oyeniyi Samuel Kehinde

http://azojete.com.ng

- Implementation of Different Low Power Multipliers Using Verilog
- Robinson Edge Detector Based On FPGA
- Exercise 9
- 62220800 a Study of Adders
- Counters
- g3m1tAvfinalnewsletter1.pdf
- Carrylookahead_supp4
- e
- 10_Factorization Using Cross Multiplication
- w 4408123126
- Design Low Power Quaternary Adder Using Multi-Value Logic
- ZP013683686
- 1521539227654_vedic
- Quick Guide for Complex Variable Toolbox
- combinationalcircuits-121222020429-phpapp02
- BinaryArithmetic
- Lecture 3 8405 Computer architecture
- 74HC283
- webpack-3_1
- Computer Architecture 1

You are on page 1of 6

11: 114-119

Copyright Faculty of Engineering, University of Maiduguri, Nigeria.

Print ISSN: 1596-2490, Electronic ISSN: 2545-5818

www.azojete.com.ng

MULTIPLIER USING VIVADO, SIMULINK, AND KINTEX-7 FPGA

(Department of Computer Engineering, University of Maiduguri, Maiduguri, Nigeria)

Corresponding authors email address: yoksa77@gmail.com

Abstract

The design of binary multipliers is a critical aspect of any reliable hardware in computing and computer engineering.

In this paper, the design of a 4 bit binary multiplier has been undertaken, starting with a review of the importance of

binary multipliers and wide areas of application. The paper then presents the multiplication methodology which

involves an accumulator, a full adder, and a control circuit. The accumulator and full adder were designed using

VHDL in the Vivado IDE, whereas the control circuit was modelled using the powerful technique of State flow in

Simulink. The 4 bit binary multiplier is then modelled and simulated using the combination of Simulink and VHDL.

Results obtained from the simulation verified the accuracy of the design methodology.

1. Introduction

One of the most important and fundamental functions in an arithmetic and logic operation is the

multiplication function. There is a direct correlation between the performance of a DSP system,

and its multiplication performance (Vaidya and Dandekar, 2010). Multiplication function is still

the dominant factor in the determination of instruction cycle time in microcontrollers and DSP

chips. Multiplication is implemented (Deepali et al., 2013) by a sequence of repeated additions.

The number which is to be added is known as the multiplicand, and the number of times it is

added is known as the multiplier. A partial product is generated after each step of addition. If the

operands are integers, the product is generally twice the length of operands (Sunil et al., 2014);

this is to ensure that the information content is protected.

2. Multiplication Methodology

To multiply two 4-bit numbers (Roth, 1998), a 4-bit multiplicand register, a 4-bit multiplier

register, a 4-bit full adder, and an 8-bit register for the product are required. The purpose of the

product register is to serve as an accumulator for the sum of the partial products. Figure 1 below

shows the design of the 4-bit multiplier.

As shown by the arrows in Figure 1, 4 bits from the accumulator (ACC) and 4 bits from the

multiplicand register are connected to the inputs of the adder; the 4 sum bits and the carry output

Arid Zone Journal of Engineering, Technology and Environment. August, 2015; Vol. 11: 114-119

from the adder are connected back to the accumulator. The adder outputs are transferred to the

accumulator when an add signal (Ad) is asserted thus causing the multiplicand to be added to the

accumulator. An extra bit at the left end of the product register temporarily stores any carry bits

that is generated when the multiplicand is added to the accumulator. When a Shift signal (Sh)

occurs, all 9 bits of the ACC are shifted right by the clock pulse.

Since the lower 4 bits of the product register are initially unused, we will store the multiplier in

this location instead of in a separate register. As each multiplier bits is used, it is shifted out the

right end of the register to make room for additional product bits. A shift signal (Sh) causes the

contents of the product register to be shifted right one place when the next clock pulse occurs.

The control circuit puts out the proper sequence of add and shift signals after a start signal (St =

1) has been received. If the current multiplier bit (M) is 1, the multiplicand is added to the

accumulator followed by a right shift; if the multiplier bit is 0, the addition is skipped, and only

the right shift occurs. This is demonstrated by the multiplication of (13 x 11) shown in Figure 2

below:

Figure 2: Multiplication of 13 x 11

3. Design Methodology

From Figure 2, it can be seen that 4 bit binary multiplier circuit is made of three sub-circuits,

namely: the control circuit, product block, and the 4 bit adder. The design will be done such that

the product block, and the 4 bit full adder will be designed using Vivado IDE (Vivado, 2014),

whereas the control circuit will be designed in Simulink. Using the Xilinx Block Set (Simulink,

2014), the entire system will then be integrated to achieve the 4 bit multiplier.

115

Dibal and Ngene: Design of a Lock-in Amplifier Micro-Ohmmeter using Proteus VSM. AZOJETE, 11:

114-120

The control shown in Figure 3 is designed such that S0 is the reset state, and the network stays in

S0 until a start signal (St = 1) is received. This generates a Load signal which causes the

multiplier to be load into the lower 4 bits of the accumulator as shown in Figure 2. In state S1,

the low-order bit of the multiplier (M) is tested. If M = 1, an add signal is generated, and if M =

0, a shift is generated.

In states S3, S5, and S7, the current multiplier bit (M) is tested to decide whether to generate an

add or shift signal. A shift is always generated at the next clock time following an add signal

(states S2, S4, S6, and S8). After four shifts have been generated, the control network goes to S9,

and a done signal is generated before returning to S0.

As stated in section 3.0, the design and realization of the product block and the 4 bit full adder

will be achieved using the Vivado IDE. Due to space constraint, only a snippet of the code is

shown in Figure 4:

Figure 4: Code snippet for Product block and 4-bit full adder design

116

Arid Zone Journal of Engineering, Technology and Environment. August, 2015; Vol. 11: 114-119

Using the Xilinx block set family functions, the control circuit design using state flow in

Simulink and the Product and 4 bit full adder design in Vivado IDE are integrated and shown in

Figure 5:

The design will be simulated using the multiplicand 1101 (which is 13), and the multiplier 1011

(which is 11). These values are inputted into the design as shown in Figure 6.

Figure 7: Product of 4 bit binary multiplication operation.

Upon simulation, the 4 bit multiplier multiplies the multiplicand 1101 by 1011. This gives the

binary value of 10001111 which is then converted to the decimal equivalent, as shown in Figure

7.

117

Dibal and Ngene: Design of a Lock-in Amplifier Micro-Ohmmeter using Proteus VSM. AZOJETE, 11:

114-120

Once the multiplication is accomplished, the binary multiplier asserts the Done signal, as shown

in Figure 8.

The control signals that make an input to the VHDL entity description for the 4 bit binary

multiplier implemented on the Kintex-7 FPGA are shown below in Figure 9.

The I/O Planning for the Kintex-7 FPGA is shown below in Figure 10. As can be seen, both the

scalar and vector signals have been defined as either input or output, and their locations on the

FPGA clearly assigned.

118

Arid Zone Journal of Engineering, Technology and Environment. August, 2015; Vol. 11: 114-119

Figure 10: Definition and location of scalar and vector signals on Kintex-7 FPGA.

Conclusion

This paper has been able to design a 4 bit binary multiplier. The design was split into two parts,

in which the control circuit was designed using State flow in Simulink and the product block and

4 bit full adder were designed using VHDL in the Vivado IDE. Simulation was conducted and

the results obtained as shown in Figure 7, verified the accuracy of the design.

References

Deepali, C., Gagan, K., Pranay, L., Vidhi, V., and Shailendra, S. 2013. Booth Multiplier: Ease of

multiplication. International Journal of Emerging Technology and Advanced Engineering. 3(3):

326 330.

Roth, CH. 1998. Digital Systems Design Using VHDL. Boston. PWS Publishing

Sunil, K., Vishakha, N., Eskinder, A., and Dhok, S. 2014. FPGA Implementation of Single

Precision Floating Point Multiplier using High Speed Compressors. International Journal of Soft

Computing and Engineering. 4(2): 18 23.

VLSI Circuit Design. International Journal of Computer Networks and Communications. 2(4):

47 56.

119

- Implementation of Different Low Power Multipliers Using VerilogUploaded byeditor_ijtel
- Robinson Edge Detector Based On FPGAUploaded byijcsis
- Exercise 9Uploaded byupadeshacharya
- 62220800 a Study of AddersUploaded byNageswara Reddy
- CountersUploaded byNitin Sahu
- g3m1tAvfinalnewsletter1.pdfUploaded byLucy Li
- Carrylookahead_supp4Uploaded bynbeniwal
- eUploaded byneethusebastian1989
- 10_Factorization Using Cross MultiplicationUploaded byMaverick Lam
- w 4408123126Uploaded byAnonymous 7VPPkWS8O
- Design Low Power Quaternary Adder Using Multi-Value LogicUploaded byIJAETMAS
- ZP013683686Uploaded byAnonymous 7VPPkWS8O
- 1521539227654_vedicUploaded byANJUMOL.T.B
- combinationalcircuits-121222020429-phpapp02Uploaded byerdvk
- BinaryArithmeticUploaded byRajesh Ket
- 74HC283Uploaded byPedro Sousa
- Quick Guide for Complex Variable ToolboxUploaded byYorman Araque
- Lecture 3 8405 Computer architectureUploaded bybokadash
- webpack-3_1Uploaded byCristian Hernández
- Computer Architecture 1Uploaded byJoby Paul
- Design Considerations for testabilityUploaded byrajesh418358
- Computer Architecture (Part 2)Uploaded byCyril
- longtermplan mstamatogiannakisUploaded byapi-373663973
- concurrent.pdfUploaded byekta
- femh111Uploaded byramesh_balak
- Untitled 2Uploaded bydivyangkapadia
- udllessonplangrammerUploaded byapi-310422729
- Field LemmasUploaded byRamesher
- Switching Theory & Logic DesignUploaded byvaseem_ahmed
- verilog01Uploaded byGabriel Sales Veloso

- 10 Article Azojete Vol 4 78-88Uploaded byOyeniyi Samuel Kehinde
- 1 Article Azojete Vol 4 1-15Uploaded byAZOJETE
- 9 Article Azojete Vol 4 71-77Uploaded byOyeniyi Samuel Kehinde
- 2 Article Azojete Vol 4 16-22Uploaded byOyeniyi Samuel Kehinde
- 3 Article Azojete Vol 4 23-29Uploaded byAZOJETE
- 5 Article Azojete Vol 4 37-44Uploaded byOyeniyi Samuel Kehinde
- 4 Article Azojete Vol 4 31-36Uploaded byOyeniyi Samuel Kehinde
- 7 Article Azojete Vol 4 51-62Uploaded byOyeniyi Samuel Kehinde
- 8 Article Azojete Vol 4 63-70Uploaded byOyeniyi Samuel Kehinde
- 6 Article Azojete Vol 4 45-50Uploaded byOyeniyi Samuel Kehinde
- 1 Article Azojete Vol 5 1-12Uploaded byOyeniyi Samuel Kehinde
- 9 Article Azojete Vol 5 76-84Uploaded byAZOJETE
- 3 Article Azojete Vol 5 26-36Uploaded byOyeniyi Samuel Kehinde
- 4 Article Azojete Vol 5 37-44Uploaded byOyeniyi Samuel Kehinde
- 5 Article Azojete Vol 5 45-53Uploaded byAZOJETE
- 6 Article Azojete Vol 5 54-59Uploaded byOyeniyi Samuel Kehinde
- 10 Article Azojete Vol 5 85-93Uploaded byOyeniyi Samuel Kehinde
- 7 Article Azojete Vol 5 60-65Uploaded byOyeniyi Samuel Kehinde
- 8 Article Azojete Vol 5 66-75Uploaded byOyeniyi Samuel Kehinde
- 3 Article Azojete Vol 6 22-28Uploaded byOyeniyi Samuel Kehinde
- 2 Article Azojete Vol 6 10-21Uploaded byOyeniyi Samuel Kehinde
- 6 Article Azojete Vol 6 49-59Uploaded byOyeniyi Samuel Kehinde
- 4 Article Azojete Vol 6 29-37Uploaded byOyeniyi Samuel Kehinde
- 7 Article Azojete Vol 6 60-65Uploaded byOyeniyi Samuel Kehinde
- 1 Article Azojete Vol 6 1-9Uploaded byOyeniyi Samuel Kehinde
- 8 Article Azojete Vol 6 67-73Uploaded byAZOJETE
- 5 Article Azojete Vol 6 38-48Uploaded byOyeniyi Samuel Kehinde
- 2 Article Azojete Vol 7 14-23Uploaded byAZOJETE
- 7 Article Azojete Vol 7 67-77Uploaded byOyeniyi Samuel Kehinde
- 3 Article Azojete Vol 7 24-33Uploaded byAZOJETE

- Unit 4(VHDL)Uploaded byShashank Arora
- Ap92s12 Advanced Digital System DesignUploaded bysridhar_omalur
- Lab 4Uploaded byWaqas Bin Khalid
- Hanna and Haskell(D2-4)Uploaded byardser
- BooksUploaded bySuman Samui
- VHDL Language ReferenceUploaded byvikrant99
- Floating Point ALU using vhdlUploaded byzooni shaik
- Unit Wise Imp Questions 2018-19Uploaded byvinod
- dsp in vhdlUploaded bybrindhasambu
- Implementation of Pipelined Bit-Parallel AddersUploaded byKelly Filetta
- Xilinx VHDL Test Bench Tutorial_2.0Uploaded byindrajeetkumar
- q_qk_guideUploaded byiC60
- Real Time Detection of Moving Object Based on FpgaUploaded byIOSRjournal
- Traffic Light ControllingUploaded byNarendra Kumar
- Lab_8Uploaded byThi Nguyen
- Barrel ShifterUploaded byRomy Sharma
- emi_debugUploaded byRobin Singh
- Analog Mixed Signal Verification MethodologyUploaded bySrikanth
- Advanced Testing With VHDLUploaded byLê Văn Lợi
- vlsi design pptUploaded bygodbhati
- Fir Compiler XilinxUploaded byalisadan_92
- Logic Synthesis for ASICsUploaded byYonghwan Hong
- hex2vhdUploaded byGhaith Chebil
- 9 Ecad Lab ManualUploaded byHari Krishna Musunoori
- 4Uploaded byRaja Ravi Sankar
- IEEE ListUploaded byson-iam
- Examen de Teoria de automatasUploaded byElvaro
- VHDL code for quadrature encoder receiver module » dewplanetUploaded bycakunza
- Getting Started SpartanUploaded byAngelik Jolie
- Hdl Description of AluUploaded byRavi Hatti