We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Hardware/software codesign using Zynq—A prescription written in C/C++ from Space Codesign Systems

by Xilinx Employee ‎10-07-2013 08:56 AM - edited ‎02-06-2014 01:11 PM (73,227 Views)

Professor Guy Bois, Director of the Microelectronics and Microsystems Research Group (GR2M) Laboratory at École Polytechnique de Montréal and President of Space Codesign Systems, has just published a compelling article in EETimes titled “Step Up to C for Embedded R&D.” I found the article very interesting because I think Bois captures the essence of the maximally efficient way to design today’s embedded systems.


Bois writes: “The starting point for a more agile approach to development is to work at a higher level of abstraction, in this case, ESL, or electronic system level.”


He continues, “By taking advantage of the SystemC library definitions and TLM-2.0 interface standards -- both part of standard IEEE 1666 -- we can use a single language, C/C++. This allows us to create a fully-modeled functional software representation of a hardware/software SoC design based on a mix of processors, software, communication links (AXI interconnects), memories, and other IP cores. Thus, the various tasks of the requested embedded application can be implemented in the SoC as either hardware or software, according to quality-of-results (QoR) requirements based on performance, power consumption, and hardware resource utilization, following a true hardware/software co-design approach.”


“Right on!” I thought to myself. “This guy needs a Zynq All Programmable SoC.”


Then I read down to the last sentence of Bois’ EETimes article: “The approach is practical and the entire process has been realized by the author's company using the Xilinx Zynq ‘All Programmable SoC’ platform.” Bois is already way ahead of me.


You can find a far more detailed discussion of these ideas in a paper presented at the SAME 2012 Conference titled “Recent Experience on an ESL Framework for Rapid Design Exploration using Hardware-Software Codesign for ARM-based FPGAs.”


Note: Bois’ reference to higher-level abstractions leads me to recommend the recent Xcell Daily blog, “All Programmable Abstractions and ESL: Different names for the same system-level design concepts.”

by Newbie garydpdx
on ‎10-07-2013 11:55 AM

Steve, thanks for making note of Guy's article and also for the tweet! Smiley Happy


We will be down in Santa Clara, CA for the ARM Technology Conference at the end of October and will be around the corner from Xilinx, so please stop by and have a look at some of our Zynq-based demos!


Our Zedboard demos originate in a flow starting in ESL design with C/C++/SystemC, then go through hardware-software co-design, both through our SpaceStudio tool, which then drives implementation through the Xilinx Vivado tool suite - libraries and/or HLS, depending.


We like to think of ourselves as a design creation front-end to Vivado and in the bigger picture, a complement to Xilinx's All Programmable Abstractions ecosystem toward the system-level end.

About the Author
  • Be sure to join the Xilinx LinkedIn group to get an update for every new Xcell Daily post! ******************** Steve Leibson is the Director of Strategic Marketing and Business Planning at Xilinx. He started as a system design engineer at HP in the early days of desktop computing, then switched to EDA at Cadnetix, and subsequently became a technical editor for EDN Magazine. He's served as Editor in Chief of EDN Magazine, Embedded Developers Journal, and Microprocessor Report. He has extensive experience in computing, microprocessors, microcontrollers, embedded systems design, design IP, EDA, and programmable logic.