Description
Abstract
Two general methods exist for computation of the algorithms. The first method is ASIC which can implement the desired algorithms to hardware. These types of equipment are made for each specific algorithm, so they are fast and efficient. But after building the circuit, they do not change. The second way is using microprocessors that are much more flexible. They run a series of commands and system software can be changed without changing the hardware. But, as an ASIC they are not designed for a particular application, so they are not flexible. Reconfigurable systems have been developed in such a way to help reduce the gap between hardware and software and also, achieve a much higher performance and flexibility for software and hardware. Therefore, in this project, first, a brief history of the development of the reconfigurable system is presented. After that, the concept of reconfigurable and all related designs are presented. The design of on-chip reconfigurable FPGA is presented. Design features of a programming language based on VHDL are presented. Finally, we present the hardware and software system that has the capability of the reconfigurable method, and the system uses reconfigurable parallel processing which increases performance.
Reference:
- A.Wang Lie, Wu Feng-yan “Dynamic partial reconfiguration in FPGAs,” 2009 Third International Symposium on Intelligent Information Technology Application.
- A.Trailokya Nath Sasamal, Anand Mohan, 2011 . “a specially designed transient faults injection technique at the vhdl level and modeling,” ijrras 9 (2) ● November.
- B. Maamar Touiza , Gilberto Ochoa-Ruiz, 2012. “A novel methodology for accelerating bitstream relocation in partially reconfigurable systems,” Microprocessors and Microsystems journal .
- B. Krill, A.Ahmad, 2010. “An efficient FPGA-based dynamic partial reconfiguration design flow and environment for image and signal processing IP cores,” Signal Processing: Image Communication 25.
- C.Abhishek Tiwari, 2012. “A Partial Reconfiguration based Approach for Frequency Synthesis using FPGA,” International Conference on Communication Technology and System Design 2011, Procedia Engineering 30 .
- D. Christopher T. Rathgeb, 2009. “Secure processing using dynamic partial reconfiguration,” CSIIRW ’09, April 13-15, Oak Ridge, Tennessee, USA Copyright ACM.
- K. KE˛PA, F. MORGAN, and K. Ko´Sciuszkiewicz. “Design Assurance Strategy and Toolset for Partially Reconfigurable FPGA Systems,” National University of Ireland, Universit’ at Karlsruhe Institute of Technology (KIT).
- L.Dirk Koch, Christian Beckhoff, and Jim Torresen, 2010. “Zero logic overhead integration of partially reconfigurable modules,” SBCCI’10, São Paulo, Brazil. Copyright 2010 ACM.
- L.Seema Verma. 2011. “Improvement in RSA Cryptosystem, journal of advances in information technology, VOL. 2, NO. 3.
- M.Kyprianos Papadimitriou And Apostolos Dollas, 2011. “Performance of partial reconfiguration in FPGA systems A survey and a cost model,” ACM Transactions on Reconfigurable Technology and Systems, Vol. 4, No. 4, Article 36, Publication date: December.
- .José Rodrigo Azambuja August, 30–September 2, 2011. “Using Dynamic Partial Reconfiguration to Detect SEEs in SBCCI’11, João Pessoa, Brazil. Copyright 2011 ACM.
- O.Robert S. Boyer And J Strother Moore, 2012. “Proof Checking The Rsa Public Key Encryption Algorithm1,” Mathematical Association of America is collaborating with JSTOR to digitize.
- P.Lubos Gaspar, October 2012. “Secure Extension of FPGA General Purpose Processors for Symmetric Key Cryptography with Partial Reconfiguration Capabilities,” ACM Transactions on Reconfigurable Technology and Systems, Vol. 5, No. 3, Article 16, Publication date.
- P.Ivan Gonzalez, 2012. “Virtualization of reconfigurable coprocessors in HPRC systems with multicore architecture,” Journal of Systems Architecture 58.
- R.Daniel Llamocca, Member, IEEE, and Marios Pattichis, Senior Member, IEEE, MARCH 2013. “A Dynamically Reconfigurable Pixel Processor System Based on PowerEnergy-Performance-Accuracy Optimization,” Ieee Transactions On Circuits And Systems For Video Technology, Vol. 23, No. 3.
- Z.Qianming Yang, 2013. “Accelerating thread-intensive and explicit memory management programs with dynamic partial reconfiguration,” J Supercomput.
Output of Modelsim software:
adder :
multiplier :
divider :
ALU :
Synthesis Result of ISE software :
adder carry look :
=========================================================================
* Final Report *
=========================================================================
Final Results
RTL Top Level Output File Name : adder_Carry_Look_ahead.ngr
Top Level Output File Name : adder_Carry_Look_ahead
Output Format : NGC
Optimization Goal : Speed
Keep Hierarchy : No
Design Statistics
# IOs : 98
Cell Usage :
# BELS : 64
# LUT3 : 64
# IO Buffers : 98
# IBUF : 65
# OBUF : 33
=========================================================================
Device utilization summary:
—————————
Selected Device : 3s50pq208-5
Number of Slices: 37 out of 768 4%
Number of 4 input LUTs: 64 out of 1536 4%
Number of IOs: 98
Number of bonded IOBs: 98 out of 124 79%
—————————
Partition Resource Summary:
—————————
No Partitions were found in this design.
—————————
=========================================================================
TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT
GENERATED AFTER PLACE-and-ROUTE.
Clock Information:
——————
No clock signals found in this design
Asynchronous Control Signals Information:
—————————————-
No asynchronous control signals found in this design
Timing Summary:
—————
Speed Grade: -5
Minimum period: No path found
Minimum input arrival time before clock: No path found
Maximum output required time after clock: No path found
Maximum combinational path delay: 47.847ns
Timing Detail:
————–
All values displayed in nanoseconds (ns)
=========================================================================
Timing constraint: Default path analysis
Total number of paths / destination ports: 1153 / 33
————————————————————————-
Delay: 47.847ns (Levels of Logic = 34)
Source: x_in<0> (PAD)
Destination: sum<31> (PAD)
Data Path: x_in<0> to sum<31>
Gate Net
) Cell:in->out fanout Delay Delay Logical Name (Net Name)
multiplier :
===============================================================
* Final Report *
=========================================================================
Final Results
RTL Top Level Output File Name : multiplier_unsigned.ngr
Top Level Output File Name : multiplier_unsigned
Output Format : NGC
Optimization Goal : Speed
Keep Hierarchy : No
Design Statistics
# IOs : 64
Cell Usage :
# BELS : 1016
# GND : 1
# LUT1 : 1
# LUT2 : 30
# LUT3 : 185
# LUT4 : 291
# MUXCY : 240
# MUXF5 : 28
# XORCY : 240
# IO Buffers : 64
# IBUF : 32
# OBUF : 32
===============================================================
Device utilization summary:
—————————
Selected Device : 3s50pq208-5
Number of Slices: 270 out of 768 35%
Number of 4 input LUTs: 507 out of 1536 33%
Number of IOs: 64
Number of bonded IOBs: 64 out of 124 51%
—————————
Partition Resource Summary:
—————————
No Partitions were found in this design.
—————————
===============================================================
TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT
GENERATED AFTER PLACE-and-ROUTE.
Clock Information:
——————
No clock signals found in this design
Asynchronous Control Signals Information:
—————————————-
No asynchronous control signals found in this design
Timing Summary:
—————
Speed Grade: -5
Minimum period: No path found
Minimum input arrival time before clock: No path found
Maximum output required time after clock: No path found
Maximum combinational path delay: 48.993ns
Timing Detail:
————–
All values displayed in nanoseconds (ns)
=========================================================================
Timing constraint: Default path analysis
Total number of paths / destination ports: 134597834529761 / 32
————————————————————————-
Delay: 48.993ns (Levels of Logic = 62)
Source: b_unsigned<0> (PAD)
Destination: mult_unsigned<30> (PAD)
Data Path: b_unsigned<0> to mult_unsigned<30>
Gate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)
divider :
===============================================================
* Final Report *
===============================================================
Final Results
RTL Top Level Output File Name : n_Bit_Divider.ngr
Top Level Output File Name : n_Bit_Divider
Output Format : NGC
Optimization Goal : Speed
Keep Hierarchy : No
Design Statistics
# IOs : 64
Cell Usage :
# BELS : 3044
# GND : 1
# INV : 46
# LUT2 : 88
# LUT3 : 496
# LUT4 : 864
# MULT_AND : 57
# MUXCY : 995
# VCC : 1
# XORCY : 496
# IO Buffers : 64
# IBUF : 32
# OBUF : 32
===============================================================
Device utilization summary:
————————–
Selected Device : 3s50pq208-5
Number of Slices: 798 out of 768 103% (*)
Number of 4 input LUTs: 1494 out of 1536 97%
Number of IOs: 64
Number of bonded IOBs: 64 out of 124 51%
WARNING:Xst:1336 – (*) More than 100% of Device resources are used
—————————
Partition Resource Summary:
—————————
No Partitions were found in this design.
—————————
=========================================================================
TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT
GENERATED AFTER PLACE-and-ROUTE.
Clock Information:
——————
No clock signals found in this design
Asynchronous Control Signals Information:
—————————————-
No asynchronous control signals found in this design
Timing Summary:
—————
Speed Grade: -5
Minimum period: No path found
Minimum input arrival time before clock: No path found
Maximum output required time after clock: No path found
Maximum combinational path delay: 177.225ns
Timing Detail:
————–
All values displayed in nanoseconds (ns)
===============================================================
Timing constraint: Default path analysis
Total number of paths / destination ports: 9302334276068681700000000000000000000000000000000000000 / 32
————————————————————————-
Delay: 177.225ns (Levels of Logic = 536)
Source: y_in<0> (PAD)
Destination: frac<0> (PAD)
Data Path: y_in<0> to frac<0>
Gate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)
ALU :
===============================================================
* Final Report *
===============================================================
Final Results
RTL Top Level Output File Name : ALU.ngr
Top Level Output File Name : ALU
Output Format : NGC
Optimization Goal : Speed
Keep Hierarchy : No
Design Statistics
# IOs : 60
Cell Usage :
# BELS : 1040
# GND : 1
# INV : 15
# LUT1 : 1
# LUT2 : 82
# LUT3 : 164
# LUT4 : 272
# MULT_AND : 25
# MUXCY : 289
# MUXF5 : 21
# VCC : 1
# XORCY : 169
# IO Buffers : 60
# IBUF : 19
# OBUF : 41
===============================================================
Device utilization summary:
—————————
Selected Device : 3s50pq208-5
Number of Slices: 289 out of 768 37%
Number of 4 input LUTs: 534 out of 1536 34%
Number of IOs: 60
Number of bonded IOBs: 60 out of 124 48%
—————————
Partition Resource Summary:
—————————
No Partitions were found in this design.
—————————
===============================================================
TIMING REPORT
NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT
GENERATED AFTER PLACE-and-ROUTE.
Clock Information:
——————
No clock signals found in this design
Asynchronous Control Signals Information:
—————————————-
No asynchronous control signals found in this design
Timing Summary:
—————
Speed Grade: -5
Minimum period: No path found
Minimum input arrival time before clock: No path found
Maximum output required time after clock: No path found
Maximum combinational path delay: 83.108ns
Timing Detail:
————–
All values displayed in nanoseconds (ns)
===============================================================
Timing constraint: Default path analysis
Total number of paths / destination ports: 83353851265305404000000 / 41
————————————————————————-
Delay: 83.108ns (Levels of Logic = 142)
Source: datain2<5> (PAD)
Destination: frac<0> (PAD)
Data Path: datain2<5> to frac<0>
Internal Circuit of multiplier :
Nicholas –
I’m very grateful for this project, and I really enjoyed it.
ELLIOTT –
A fantastic project!