Friday, July 19, 2013
Thursday, July 18, 2013
Slides from dutch bitchips hardware conference is out
http://www.hardwareconference.nl/programma/programma-2013.html
Selected titles:
Kester Aernoudt, Xilinx
Enabling new product innovations across markets with Zynq-7000 all-programmable SoC and Vivado HLS
Dirk van den Heuvel, Topic
Designing with heterogeneous multicore systems-on-chip in medical applications
Selected titles:
Kester Aernoudt, Xilinx
Enabling new product innovations across markets with Zynq-7000 all-programmable SoC and Vivado HLS
Dirk van den Heuvel, Topic
Designing with heterogeneous multicore systems-on-chip in medical applications
Thursday, June 6, 2013
Related Work for DSE in HLS
On Learning-Based Methods for Design-Space Exploration
with High-Level Synthesis
http://delivery.acm.org/10.1145/2490000/2488795/a50-liu.pdf?ip=131.155.41.196&acc=ACTIVE%20SERVICE&key=C2716FEBFA981EF12214637723A2BFB946E5CCD26CF057B5&CFID=222938095&CFTOKEN=27113601&__acm__=1370512562_6472454faaf574797c50528a567d9ac9
with High-Level Synthesis
http://delivery.acm.org/10.1145/2490000/2488795/a50-liu.pdf?ip=131.155.41.196&acc=ACTIVE%20SERVICE&key=C2716FEBFA981EF12214637723A2BFB946E5CCD26CF057B5&CFID=222938095&CFTOKEN=27113601&__acm__=1370512562_6472454faaf574797c50528a567d9ac9
Friday, April 19, 2013
Wednesday, March 6, 2013
Differences between AXI Streaming and FSL
According to the UG761 AXI Reference Guide, the mapping of FSL Signals to AXI Streaming Signals is as follows:
But in actual fact, M_AXIS_TREADY = ! FSL_M_FULL, since it's active high. The rest of the signals has a direct one to one mapping.
Also there is slight handshaking difference.
The AXI_M_TVALID signal cannot be deasserted after being asserted unless a transfer is
completed with AXI_TREADY. However, a AXI_TREADY can be asserted and deasserted
whenever the AXI4-Stream slave requires assertion and deassertion.
A master is not permitted to wait until TREADY is asserted before asserting TVALID. Once
TVALID is asserted it must remain asserted until the handshake occurs.
That means what in FSL
if (!M_FULL)
M_Write
looks like this in AXI Streaming Masters.
M_Write
wait until !M_FULL
References:
AMBA 4 AXI4-Stream Protocol Specification
UG761 AXI Reference Guide
But in actual fact, M_AXIS_TREADY = ! FSL_M_FULL, since it's active high. The rest of the signals has a direct one to one mapping.
Also there is slight handshaking difference.
The AXI_M_TVALID signal cannot be deasserted after being asserted unless a transfer is
completed with AXI_TREADY. However, a AXI_TREADY can be asserted and deasserted
whenever the AXI4-Stream slave requires assertion and deassertion.
A master is not permitted to wait until TREADY is asserted before asserting TVALID. Once
TVALID is asserted it must remain asserted until the handshake occurs.
That means what in FSL
if (!M_FULL)
M_Write
looks like this in AXI Streaming Masters.
M_Write
wait until !M_FULL
References:
AMBA 4 AXI4-Stream Protocol Specification
UG761 AXI Reference Guide
Friday, December 21, 2012
Sobel Filter Application on the Xilinx Zynq Zedboard
Here are the steps for getting the Sobel Filter application running on the Zynq Zedboard using a webcam for the input data stream while the output frame is shown in the HDMI display. The Sobel Filter is implemented as a hardware accelerator on the fpga as well as an openCV software implementation on the arm processor.
Download Link:
Git Link:
UBoot File used:
Steps to get the application running on the board:
1. Connect Power, HDMI display, USB HUB with keyboard, mouse and webcam (I used a Logitech webcam) to the Zedboard.
2. Format the SD Card using the instructions as given in the link below:
http://wiki.analog.com/resources/tools-software/linux-drivers/platforms/zynq#enable_xf86-video-modesetting_xorg_driver
The first partition needs to have the boot.bin, zImage, and dts files. These can be found on the SD_card folder in the zip file. The second partition needs to have the Linaro file system (also found at the above link).
3. Set mode on the Zedboard to SD card boot mode.
4. Power on and boot into linux.
5. Install OpenCv by using the command "sudo apt-get install libopencv-dev" (sudo password is linaro).
6. Connect an ethernet cable and copy folder test_app in the zipfile to the filesystem.
(cf_adv7511_zed\workspace\test_app).
7. Run command "cmake ."
8. Run "make"
9. Run "sudo ./camera"
10. It will display the original webcam stream and you can enable hardware sobel filtering and software sobel filtering using "h" and "s" respectively. Original stream can be enabled with "o". Press escape to exit anytime.
Note. This design is not fully optimized as there is a significant communication bottleneck. This bottleneck is caused while copying the video stream buffer to the DMA region and back, as well as due to the slow latency of the DDR. For the first problem, I am looking into upgrading the kernel to the 3.8 version to use the DMA buffer sharing options. For the second problem, I'm working on using the Accelerator Coherency Port, as it provides a low latency path directly from the cache to the accelerator.
An EDK project is also shared with a bare metal application to test the hardware without the linux kernel.
This reference design was made available from the PARSE Research group at TU/e.
References-
http://wiki.analog.com/resources/tools-software/linux-drivers/platforms/zynq#enable_xf86-video-modesetting_xorg_driver
http://wiki.xilinx.com/zynq-base-trd-14-3
http://ez.analog.com/message/70323#70323
Download Link:
Git Link:
UBoot File used:
Steps to get the application running on the board:
1. Connect Power, HDMI display, USB HUB with keyboard, mouse and webcam (I used a Logitech webcam) to the Zedboard.
2. Format the SD Card using the instructions as given in the link below:
http://wiki.analog.com/resources/tools-software/linux-drivers/platforms/zynq#enable_xf86-video-modesetting_xorg_driver
The first partition needs to have the boot.bin, zImage, and dts files. These can be found on the SD_card folder in the zip file. The second partition needs to have the Linaro file system (also found at the above link).
3. Set mode on the Zedboard to SD card boot mode.
4. Power on and boot into linux.
5. Install OpenCv by using the command "sudo apt-get install libopencv-dev" (sudo password is linaro).
6. Connect an ethernet cable and copy folder test_app in the zipfile to the filesystem.
(cf_adv7511_zed\workspace\test_app).
7. Run command "cmake ."
8. Run "make"
9. Run "sudo ./camera"
10. It will display the original webcam stream and you can enable hardware sobel filtering and software sobel filtering using "h" and "s" respectively. Original stream can be enabled with "o". Press escape to exit anytime.
Note. This design is not fully optimized as there is a significant communication bottleneck. This bottleneck is caused while copying the video stream buffer to the DMA region and back, as well as due to the slow latency of the DDR. For the first problem, I am looking into upgrading the kernel to the 3.8 version to use the DMA buffer sharing options. For the second problem, I'm working on using the Accelerator Coherency Port, as it provides a low latency path directly from the cache to the accelerator.
An EDK project is also shared with a bare metal application to test the hardware without the linux kernel.
This reference design was made available from the PARSE Research group at TU/e.
References-
http://wiki.analog.com/resources/tools-software/linux-drivers/platforms/zynq#enable_xf86-video-modesetting_xorg_driver
http://wiki.xilinx.com/zynq-base-trd-14-3
http://ez.analog.com/message/70323#70323
Tuesday, November 13, 2012
Approximate Computing 2
A reading list for Approximate Computing /Soft Computing/ Imprecise Computing, Stochastic Computation
A NumericalOptimization-based Methodology forApplication Robustification: Transforming Applicationsfor Error Tolerance
Joseph Sloan, John Sartori, and Rakesh Kumar. " Exploiting Application-Level Error Tolerance in Software Design for Stochastic Processors. " In the 49th Design and Automation Conference. DAC, San Francisco, June 2012. (PDF). (invited)
Best-effort semantic document search on GPUs
A NumericalOptimization-based Methodology forApplication Robustification: Transforming Applicationsfor Error Tolerance
Joseph Sloan, John Sartori, and Rakesh Kumar. " Exploiting Application-Level Error Tolerance in Software Design for Stochastic Processors. " In the 49th Design and Automation Conference. DAC, San Francisco, June 2012. (PDF). (invited)
Best-effort semantic document search on GPUs
Sunday, November 4, 2012
Approximate Computing
A reading list for Approximate Computing /Soft Computing/ Imprecise Computing, Stochastic Computation
Joseph Bates: http://web.media.mit.edu/~bates/Welcome_files/BatesPosterOct2010.pdf
http://web.media.mit.edu/~bates/Summary_files/BatesTalk.pdf
http://en.wikipedia.org/wiki/Bate%27s_chip
Doug Burger - Microsoft
http://research.ihost.com/weed2012/pdfs/paper%20G.pdf
http://sampa.cs.washington.edu/public/uploads/b/bc/Npu-dasi12.pdf
http://www.cs.utexas.edu/~hadi/doc/paper/2012-asplos-truffle.pdf
http://homes.cs.washington.edu/~asampson/media/papers/enerj-pldi2011.pdf
CMU
http://www.cs.cmu.edu/~gpekhime/Projects/15740/paper.pdf
IBM:
http://www.research.cornell.edu/KIC/events/Computing2008/Nair_Cornell_08.pdf
Darpa
http://csl.stanford.edu/~christos/publications/2012.isat.ACSWTP.slides.pdf
University of Illinois at Urbana-Champaign - Naresh R. Shanbhag
http://passat.crhc.illinois.edu/rakeshk/dac_10_invited_cam.pdf
ANT
http://www.eurasip.org/Proceedings/Eusipco/Eusipco2000/SESSIONS/THUPM/SS3/CR1825.PDF
Stochastic Computing: Embracing Errors in Architecture and Design of Processors and Applications
Energy Aware Probabilistic Multiplier
Energy-aware probabilistic multiplier: design and analysis, MSK Lau et al, Proceedings of
the 2009 international conference on Compilers, architecture, and synthesis for embedded
systems
Power Benefits of Imprecise ComputerArithmetic
Interesting Summary from above http://csl.stanford.edu/~christos/publications/2012.isat.ACSWTP.slides.pdf
1. Exact output with approximate HW
2. Approximate output with deterministic HW (unsound SW transformations)
3. Approximate output with approximate HW
An interesting keypoint:
statistical nature of application-level has to match statistical nature of underlying device!
Survey of Stochastic Computing
Book -Stochastic Computing
http://www.nowpublishers.com/product.aspx?product=EDA&doi=1000000021§ion=xstart
Motivation for Neuromorphic computing systems in stochastic computing
Joseph Bates: http://web.media.mit.edu/~bates/Welcome_files/BatesPosterOct2010.pdf
http://web.media.mit.edu/~bates/Summary_files/BatesTalk.pdf
http://en.wikipedia.org/wiki/Bate%27s_chip
Doug Burger - Microsoft
http://research.ihost.com/weed2012/pdfs/paper%20G.pdf
http://sampa.cs.washington.edu/public/uploads/b/bc/Npu-dasi12.pdf
http://www.cs.utexas.edu/~hadi/doc/paper/2012-asplos-truffle.pdf
http://homes.cs.washington.edu/~asampson/media/papers/enerj-pldi2011.pdf
CMU
http://www.cs.cmu.edu/~gpekhime/Projects/15740/paper.pdf
IBM:
http://www.research.cornell.edu/KIC/events/Computing2008/Nair_Cornell_08.pdf
Darpa
http://csl.stanford.edu/~christos/publications/2012.isat.ACSWTP.slides.pdf
University of Illinois at Urbana-Champaign - Naresh R. Shanbhag
http://passat.crhc.illinois.edu/rakeshk/dac_10_invited_cam.pdf
ANT
http://www.eurasip.org/Proceedings/Eusipco/Eusipco2000/SESSIONS/THUPM/SS3/CR1825.PDF
Stochastic Computing: Embracing Errors in Architecture and Design of Processors and Applications
Energy Aware Probabilistic Multiplier
Energy-aware probabilistic multiplier: design and analysis, MSK Lau et al, Proceedings of
the 2009 international conference on Compilers, architecture, and synthesis for embedded
systems
Power Benefits of Imprecise ComputerArithmetic
IMPACT: IMPrecise adders for low-power approximate computing
Interesting Summary from above http://csl.stanford.edu/~christos/publications/2012.isat.ACSWTP.slides.pdf
1. Exact output with approximate HW
2. Approximate output with deterministic HW (unsound SW transformations)
3. Approximate output with approximate HW
An interesting keypoint:
statistical nature of application-level has to match statistical nature of underlying device!
Survey of Stochastic Computing
Book -Stochastic Computing
http://www.nowpublishers.com/product.aspx?product=EDA&doi=1000000021§ion=xstart
Motivation for Neuromorphic computing systems in stochastic computing
Subscribe to:
Posts (Atom)


