Hello Everybody,
Long time no see... :)
I find that I'm losing to follow what everybody did since the blog are not up-to-date. However, I'd give a brief introduction of the SoC system adopted here. I especially highlight its debugging utility, being treated as a reference of 8051 project.
The SoC system is provided by AreoFlex. It consists of IP cores, OSs, compilers, debugger and simulators. Most are open-source following GPL licensing and some are commercial. The Leon3 is the processor core using the SPARC V8 architecture. The SoC system contains AMBA bus with plug&play functionality, so modules connect to the bus. Essential IPs are built in the package, as shown in the figure below. This system doesn't bound to any boards or processes. It means you can use it on whether Xilinx/altera FPGA and ASIC design. However, they collect various FPGA boards and fit the SoC system on them, including the peripherals on the board. A tool to configure the IPs is included. It helps you to construct the system you want, even without modifying any codes. You also can build multi-core system by configuring.
After configuring, synthesizing, and programming onto FPGA, you can execute program on the LEON3 processor. The GrMon is provided as a debugger. It can obtain the information from processors and other AHB slave by using the debug link module, which is a AHB master, as shown above. However, to access the registers in the processor, an additional debug support unit (DSU) is designed. The DSU is a separate AHB slave module, accessing the processor only when the processor is in debug mode. Once the GrMon tends to access the status of processor, its corresponding debug link module will signal the DSU. The DSU will enforce the processor to enter debug mode and halt, so that DSU can work. A DSU can cope with up to 16 processors.
As mentioned above, the SoC system has no limitation to FPGA boards, so their debugging environment is adaptable by providing various debug link modules. For example, it supports Xilinx standard USB-JTAG download cable for debugging. Some may question if there is no interface for the existing debug link. Don't worry. If you can connect your FPGA board with PC, all you need to do are to design your own debug link master module connecting to PC with interface on the board and to enable GRMon control your hardware module by implementing a set of pre-defined callback functions being invoked by GRMon. This makes it possible to build the system on the existing FPGA boards in our lab. :p
Moreover, the GRMon is an Eclipse plug-in and can attach with GDB for debugging. More information here.
Okay, that's it!
4 則留言:
My question: does the debugger GrMon supports Multi-core and how?
does the USB-JTAG support the debug of the cores only? or any HW inside can be debugged or monitored?
Maybe it is up-to-date.
My question: does the debugger GrMon supports Multi-core and how?
does the USB-JTAG support the debug of the cores only? or any HW inside can be debugged or monitored?
A: As mentioned above, the debugging function is supporting by a debug link module, a AMBA module, and a debug support unit(DSU), a AMBA slave. So, the multi-core debugging indicates that the GrMon can access all processors' registers when the processors are in debug mode. All processors will enter debug mode and halt except those set by mask bit. All data and information can be read by GrMon as well if the HW is designed as AMBA slave. The absence of processors is permissible.
The USB-JTAG here is one of the interfaces they support to connect SoC system and GrMon. It does not provide the JTAG scan chain functionality.
YL:
我有點想要用Sparc or 64-bit Sparc來Build我們的系統. 我的目標不是像我老師一樣porting整個Sparc V8的system.而只是希望將Sparc當做一個計算單元來使用, 不必有I/O, 只需要跟 Bus or NOC有接起來, 以及有Local記憶體裝置即可. 我想做的你可以從大鈞剛放上去的串略知一二.
http://screamlab-ncku-2008.blogspot.com/2009/11/h264-simulator-system-architecture.html
所以我只需要porting部分東西, 當然我們會需要compiler, GDB debugger等一班tool chain. 我想知道進一步的GrMon的做法, 假如可以, 我希望自己在ESL這邊自己做一套, 雖然最近我跟AAA都agree, Many Core的程式最好不需要花力氣去debug core與core之間的問題, 這樣, bug就被侷限在單一core上就好.
假如他們有SystemC model最好, 要不然, 我只好用FPGA了. 最近, 我是在規畫做一套像BEE一樣的東西, 而大鈞的project要做的是SW為主, 模擬為輔.
歡迎有問題上來討論. 另外我可以每天有一段時間可以跟你MSN嗎? 一方面想了解你幫我老師的進度與做法, 希望我也可以貢獻一點東西.
張貼留言