Science and Technology
Batch Picture Scaler with Python
Below you can find a nice Python script to scale all the JPG pictures in the current directory by a resizeFactor.
Enjoy!
import Image
import glob
import os, sys
from os.path import join
if not os.path.isdir(“resized”):
os.mkdir(“resized“)
resizeFactor = 0.529
for i in glob.glob(“*.JPG”):
print i
im = Image.open(i)
width, height = im.size
imout = im.resize((int(widthresizeFactor),int(heightresizeFactor)), Image.ANTIALIAS)
imout.save(join(os.curdir, “resized”, i))
Placement and Floorplanning in Dynamically Reconfigurable FPGAs
This paper proposes a novel approach for resource- and reconfiguration- aware floorplanning. Different from existing approaches, our floorplanning algorithm takes specific physical constraints such as resource distribution and the granularity of reconfiguration possible for a given FPGA device into account. These physical constraints are typically considered at the later placement stage. In order to emphasize this fundamental difference with respect to traditional floorplanners, we refer to our approach as a floorplacer. Different aspects of the problems have been described, focusing particularly on the FPGA’s resource heterogeneity and the temporal dimension typical of reconfigurable systems. Once the problem is introduced a comparison among related works has been provided and their limits have been pointed out. Our proposed approach specifically considers the feasibility of the associated communication infrastructure for a given floorplan. Experimental results proved the validity of the proposed approach.
Floorplacement for Partial Reconfigurable FPGA-Based Systems
Abstract
We presented a resource- and configuration-aware floorplacement framework, tailored for Xilinx Virtex 4 and 5 FPGAs, using an objective function based on external wirelength. Our work aims at identifying groups of Reconfigurable Functional Units that are likely to be configured in the same chip area, identifying these areas based on resource requirements, device capabilities, and wirelength. Task graphs with few externally connected RRs lead to the biggest decrease, while external wirelength in task graphs with many externally connected RRs show lower improvement. The proposed approach results, as also demonstrated in the experimental results section, in a shorter external wirelength (an average reduction of 50%) with respect to purely area-driven approaches and a highly increased probability of reuse of existing links (90% reduction can be obtained in the best case).
Wirelength driven floorplacement for FPGA-based partial reconfigurable systems
Abstract
The proposed work aims at identifying groups of Reconfigurable Functional Units that are likely to be configured in the same chip area, identifying these areas based on resource requirements, device capabilities and wirelength. The proposed floorplacement framework, tailored for Xilinx Virtex 4 and 5 FPGAs, uses an objective function based on external wirelength, i.e., the estimated length of the nets connecting each Reconfigurable Functional Unit to the corresponding required chip Input Output Blocks. The proposed approach results, as also demonstrated in the experimental results section, in a shorter external wirelength (an average reduction of 50%) with respect to purely area-driven approaches and a highly increased probability of re-use of existing links (90% reduction can be obtained in the best case).
Reconfiguration-aware Floorplacer for FPGAs
Abstract
The goal of this paper is to introduce a partitioning and floorplanning algorithm tailored for reconfigurable architectures deployable on FPGAs. Our proposed algorithm specifically considers the feasibility of the associated communication infrastructure for a given floorplan. Different from existing approaches, our floorplanning algorithm takes specific physical constraints such as resource distribution and the granularity of reconfiguration possible for a given FPGA device into account. These physical constraints are typically considered at the later placement stage. In order to emphasize this fundamental difference with respect to traditional floorplanners, we refer to our approach as a floorplacer.
HARPE: a Harvard-based Processing Element Tailored for Partial Dynamic Reconfigurable Architectures
Abstract
Aim of this paper is to propose a Reconfigurable Processing Element based on a Harvard Architecture, called HARPE. HARPE’s architecture includes a MicroBlaze soft-processor in order to make HARPEs deployable also on devices not having processors on silicon die. In such a context, this work also introduces a novel approach for the management of processor data memory. The proposed approach allows the individual management of data and the dynamic update of the memory, thus making it possible to define Partially Dynamical Reconfigurable Multi Processing Element Systems, that consist of several master (e.g., soft-processors, hard-processors or HARPE cores) and slave components. Finally, the proposed methodology enables the possibility of creating a system in which both HARPEs and their memo- ries (data and code) can be separately configured at run time with a partial configuration bitstream, in order to make the whole system more flexible with respect to changes occurring in the external environment.
A Design Workflow for the Identification of Area Constraints in Dynamic Reconfigurable Systems
Abstract
Nowadays, working in a reconfigurable scenario, the identification of the placement constraints that will be used to implement each module used to define a reconfigurable system, is an important problem that needs to be solved. The proposed approach exploits results of different area constraints assignment techniques in order to optimize a given objective function. This approach can easily be extended to support global optimizations over several (all) configurations of the reconfigurable system under development.
Data memory management in partial dynamically reconfigurable systems
This paper aims at introducing a novel approach for the management of processor data memory in reconfigurable systems. The proposed approach allows the individual management of separated data and the dynamic update of the memory with a partial bitstream. By following this way it is possible to create a system in which several master components (e.g., soft-processors or hard-processors) can be dynamically configured and in which their memory can be dynamically changed. In the first section the reconfigurable scenario and its problems concerning to memory management will be introduced. The following sections will describe the state of the art and the development details of the tool that implements the proposed approach. Finally, a set of experimental results will be presented and conclusive remarks will be drawn.
Mathematical Analysis 2 – Excercises
In this post you can find the exercises proposed by professor Stefano Mortola during Mathematical Analysis II classes at Politecnico di Milano during the Academic Year 2003-2004. You can find also the solutions Rossella Melchiotti and I wrote during the same term.
These exercises proved to be a good support for personal study, hence I hope you enjoy them.
Unfortunately, both exercises and solutions are written in Italian. The attached file names are self-explaining of the content. Enjoy!
Analisi Matematica 2 – Esercizi
Analisi Matematica 2 – Soluzioni
