Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Hadi Esmaeilzadeh is active.

Publication


Featured researches published by Hadi Esmaeilzadeh.


international symposium on circuits and systems | 2006

Neural network stream processing core (NnSP) for embedded systems

Hadi Esmaeilzadeh; Pooya Saeedi; Babak Nadjar Araabi; Caro Lucas; Seid Mehdi Fakhraie

NnSP is a stream-based programmable and code-level statically reconfigurable processor for realization of neural networks in embedded systems. NnSP is provided with a neural-network-to-stream compiler and a hardware core builder. The NnSP stream compiler makes it possible to realize various neural networks using NnSP. On the other hand, the NnSP builder makes the NnSP processor an IP core that can be restructured to satisfy different demands and constraints. This paper presents the architecture of the NnSP processor, the streaming mechanism, and the builder facilities. Also, synthesis results of a 64-PE NnSP on a 0.18 mum standard-cell library are presented. The obtained results show that a 64-PE NnSP can perform computations of 25.6 giga connections in a second, while its throughput is upto 51.2 giga 32-bit fixed point operations per second. Comparing with high performance parallel architectures locates 64-PE NnSP among the best state of the art parallel processors


ACM Transactions on Design Automation of Electronic Systems | 2005

Instruction-level test methodology for CPU core self-testing

Saeed Shamshiri; Hadi Esmaeilzadeh; Zainalabdein Navabi

TIS is an instruction-level methodology for processor core self-testing that enhances instruction set of a CPU with test instructions. Since the functionality of test instructions is the same as the NOP instruction, NOP instructions can be replaced with test instructions. Online testing can be accomplished without any performance penalty. TIS tests different parts of the processor and detects stuck-at faults. This method can be employed in offline and online testing of single-cycle, multicycle and pipelined processors. But, TIS is more appropriate for online testing of pipelined architectures in which NOP instructions are frequently executed because of data, control and structural hazards. Running test instructions instead of these NOP instructions, TIS utilizes the time that is otherwise wasted by NOPs. In this article, two different implementations of TIS are presented. One implementation employs a dedicated hardware modules for test vector generation, while the other is a software-based approach that reads test vectors from memory. These two approaches are implemented on a pipelined processor core and their area overheads are compared. To demonstrate the appropriateness of the TIS test technique, several programs are executed and fault coverage results are presented.


ieee conference on cybernetics and intelligent systems | 2004

Self-adaptive memetic algorithm: an adaptive conjugate gradient approach

Neda Shahidi; Hadi Esmaeilzadeh; M. Abdollahi; E. Ebrahimi; Caro Lucas

Combining hill climbing methods that search for the optimum points in a bounded region of search space with genetic algorithm is effective in the cases that the search space or optimization problem is complicated. However, parameter setting of selected HC can influence the performance of the algorithm significantly. In this paper a run-time self-adaptation strategy is utilized to discover the most appropriate HC parameters for the problem at hand. The HC method is used in this work is conjugate gradient that is an efficient gradient based hill climber for a wide range of problems. Traditionally, key parameters of the conjugate gradient are tuned by some deterministic or predetermined adaptive rules. But in our self-adaptation approach these parameters are encoded in genotypes and coevolved alongside the solutions and adjusted based on regional or generational conditions of individuals in the evolution process. Another advantage of this individualistic approach is that it puts forth different hill climbing capabilities to each individual and this prevents undesirable convergence of solutions to a local optimum that is a side effect of ordinary memetic algorithm. This proposed method not only adds no extra computation load to the genetic algorithm but also eliminates computation burden of parameter adjustment of hill climbing operator. Results of applying this approach on several test functions are demonstrated to illustrate improvements achieved using our self adaptive memetic algorithm in comparison with ordinary memetic algorithm.


Integration | 2006

A parameterized graph-based framework for high-level test synthesis

Saeed Safari; Amir Hossein Jahangir; Hadi Esmaeilzadeh

Improving testability during the early stages of high-level synthesis has several benefits including reduced test hardware overheads, reduced test costs, reduced design iterations, and significant improved fault coverage. In this paper, we present a novel register allocation method, which is based on weighted graph coloring algorithm, targeting testability improvement for digital circuits. In our register allocation method, several high-level testability parameters including sequential depth, sequential loop, and controllability/ observability are considered. Our experiments show using this register allocation method results in significant improvement in automatic test pattern generation time and fault coverage.


international symposium on circuits and systems | 2003

A novel improvement technique for high-level test synthesis

Saeed Safari; Hadi Esmaeilzadeh; Amir Hossein Jahangir

Improving testability during the early stages of High-Level Synthesis (HLS) has several benefits, including reduced test hardware overhead, reduced test costs, reduced design iteration, and significant improved fault coverage. In this paper, we present a novel register allocation method, which is based on weighted graph coloring algorithm, targeting testability improvement for digital circuits. The topics covered in this paper include an overview of HLS and testability parameters, our testability model and experimental results.


asian test symposium | 2004

Test instruction set (TIS) for high level self-testing of CPU cores

Saeed Shamshiri; Hadi Esmaeilzadeh; Zainalabedin Navabi

TIS (test instruction set) is an instruction level technique for CPU core self-testing. This method is based on enhancing a CPU instruction set with test instructions. TIS replaces the NOP instruction that is available in most processors with test instructions so that online testing can be done with no performance penalty. This method can be applied to both offline and online (concurrent) testing of all types of processors (single-cycle, multi-cycle and pipelined). TIS is appropriate for pipelined architectures in which one or many NOP instructions (or stalls) are inserted between instructions that are data or control dependent. We have implemented this test method on a pipelined CPU core and several test programs for this pipelined CPU are used to illustrate the method. Also fault coverage results are presented to demonstrate the effectiveness of the TIS test technique.


midwest symposium on circuits and systems | 2005

NnSP: embedded neural networks stream processor

Hadi Esmaeilzadeh; Farhang Farzan; Neda Shahidi; Sied Mehdi Fakhraie; Caro Lucas; Mohammad Tehranipoor

Exploiting neural networks native parallelism and interaction locality, dedicated parallel hardware implementation of neural networks is essential for their effective use in time-critical applications. The architecture proposed in this paper is a parallel stream processor called neural networks stream processor or NnSP which can be programmed to realize different neural-network topologies and architectures. NnSP is a collection of programmable processing engines organized in custom FIFO-based cache architecture and busing system. Streams of synaptic data flow through the parallel processing elements, and computations are performed based on the instructions embedded in the preambles of the data streams. The command and configuration words embedded in the preamble of a stream, program each processing element to perform a desired computation on the upcoming data. The packetized nature of the stream architecture brings up a high degree of flexibility and scalability for NnSP. The stream processor is synthesized targeting an ASIC standard cell library for SoC implementation and also is realized on Xilinx VirtexII-Pro SoPC beds. A neural network employed for mobile robot navigation control, is implemented on the realized SoPC hardware. The realization-speedup achievements are presented here


asian test symposium | 2005

ISC: Reconfigurable Scan-Cell Architecture for Low Power Testing

Hadi Esmaeilzadeh; Saeed Shamshiri; Pooya Saeedi; Zainalabedin Navabi

Violation of power constraints in the test mode may cause permanent failure in a circuit. Thus, Low power testing is essential for low power circuits. This paper proposes a reconfigurable scan-cell architecture that eliminates the propagation of unnecessary transitions during shift-in and shift-out. The proposed reconfigurable scanpath rearranges its latches to mask its outputs when a test-vector/test-result shifts in/out to/from. The rearrangement is performed without any need to extra latches or buffers. In fact, the native latches of a basic scan-path are reconfigured to keep the outputs of the scan-path (inputs of the combinational cloud) intact in the shifting phase. A few primitive gates are required for the rearrangement of the latches which means that the architecture has a low area overhead. The rearrangement implies that even and odd bits of test-vectors/test-results are interleaved in the shifting, and then, we called this reconfigurable architecture Interleaved Scan-Cell (ISC). The proposed scan-cell supports all required operations such as scan-in, scan-out, test-vector application, and test-result collection. The reconfigurable interleaved scan-path is inserted in a number of ISCAS benchmark circuits and the total area overhead and test power consumptions are presented. The results and comparisons show that using interleaved scancell architecture reduces test power dissipation while it has a low area overhead. Also, it is shown that the proposed scan-cell architecture adds a negligible delay to the propagation time of the scan-path registers and thus does not alter the clock frequency.


high level design validation and test | 2004

Instruction level test methodology for CPU core software-based self-testing

Saeed Shamshiri; Hadi Esmaeilzadeh; Zainalabedin Navabi

TIS (S. Shamshiri et al., 2004) is an instruction level methodology for CPU core self-testing that enhances the instruction set of a CPU with test instructions. Since the functionality of test instructions is the same as the NOP instruction, NOP instructions can be replaced with test instructions so that online testing can be done with no performance penalty. TIS tests different parts of the CPU and detects stuck-at faults. This method can be employed in offline and online testing of all kinds of processors. Hardware-oriented implementation of TIS was proposed previously (S. Shamshiri et al., 2004) that tests just the combinational units of the processor. Contributions of this paper are first, a software-based approach that reduces the hardware overhead to a reasonable size and second, testing the sequential parts of the processor besides the combinational parts. Both hardware and software oriented approaches are implemented on a pipelined CPU core and their area overheads are compared. To demonstrate the appropriateness of the TIS test technique, several programs are executed and fault coverage results are presented.


international conference mixed design of integrated circuits and systems | 2007

NNEP, Design Pattern for Neural-Network-Based Embedded Systems

Hadi Esmaeilzadeh; M.R. Jamali; Pooya Saeedi; A. Moghimi; Caro Lucas; Sied Mehdi Fakhraie

With time-to-market getting the most important issue in system design, reusing the design experiences as well as the IP cores is becoming very critical. Design patterns, intended for simplifying the reuse process, are design experiences that worked well in the past and documented to be reused in the future. In this paper, a design pattern named NnEP (Neural-network-based Embedded systems design Pattern) is introduced for employing neural networks, common bio-inspired solutions, in SoC-based embedded systems. This pattern is based on NnSP IP suite, a stream processing core and its tool chain, NnSP Builder and Stream Compiler. NnEP is introduced for enhancing and automating reuse in design of intelligent SoCs requiring high-speed parallel computations specially those based on neural networks. The NnEP pattern consists of the semi-automated steps, extracted from design experiences, a designer takes using the provided software suite to realize a NN application in an intelligent SoC. This includes the application analysis and pre-processing procedure, building the best-match IP core with the application, and finally compiling the intended NN application on the target IP core. On the other hand, ASIC 0.18 mum implementation results of NnSP soft core show that the core can achieve the speed of 51.2 GOPS, 25.6 GMAC/s. This throughput is comparable with the existing parallel solutions and higher in an order of magnitude from common general-purpose-processor-based solutions. This high throughput in conjunction with the inherent reusable architecture of NnSP, makes NnEP a powerful design pattern for cutting-edge neural-network-based embedded applications such as pattern recognition which is elaborated as a case study in the proposed design pattern.

Collaboration


Dive into the Hadi Esmaeilzadeh's collaboration.

Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge