NoC related conferences, journals and groups

  该列表会在douban不断更新(http://www.douban.com/group/topic/2837287/

      ——Conferences——
  * NOCS : International Symposium on Networks-on-Chip : http://async.org.uk/nocs2008/
  * DAC : ACM/IEEE Design Automation Conference : http://www.dac.com/45th/index.aspx
  * HiPEAC : International Conference on High Performance and Embedded Architectures and Compilers : http://www.hipeac.net/conference/
  * DATE : Design, Automation & Test in Europe Conference & Exhibition : http://www.date-conference.com/
  * NanoNet : International Conference on Nano-Networks and Workshops : http://www.nanonets.org/
  * CODES+ISSS : IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis : http://www.codes-isss.org/
  * FPL : International Conference on Field Programmable Logic and Applications : http://www.kip.uni-heidelberg.de/fpl08/cms/website.php
  * ICCAD : IEEE/ACM International Conference on Computer-Aided Design : http://iccad2008.com/html-1/index.html
  * ASYNC : International Symposium on Asynchronous Circuits and Systems : http://async.org.uk/async2008/
  * NORCHIP : http://www.norchip.org/
  
  ——Journals——
  * IEEE Micro : http://www.computer.org/portal/site/micro/index.jsp
  * IEEE Design and Test of Computers : http://www.computer.org/dt
  * IEE Computer and Digital Techniques : http://www.ietdl.org/IET-CDT
  * Journal of Systems Architecture : http://www.elsevier.com/locate/sysarc
  * IEEE Circuits and Systems Magazine : http://www.ieee.org/organizations/pubs/magazines/CASM.htm
  
  ——Groups——
  * Israel Institute of Technology (Technion) : QNoC Project
  * Newcastle University : Alex Yakovlev
  * Royal Institute of Technology in Stockholm (KTH) : Nostrum Project
  * Stanford University : William J. Dally
  * University of Cambridge, UK : Simon Moore
  * University of Manchester, UK : Advanced Processor Technologies Group (CHAIN)
  * University of Tampere, Finland : Jari Nurmi
  * Carnegie Mellon University : Radu Marculescu
  * Technical University of Denmark : Jens Sparsø
  * Universidad Politecnica de Valencia : Jose Duato Marín
  * University of Bologna, Italy : Davide Bertozzi
  * Informatica e Sistemistica : Luca Benini
  * Stanford University : Srinivasan Murali

Advertisements

推荐使用Free Mind

最近我遇到了一个问题,文章读多了,发现以前读过的文章现在快记不起来了。我认为这个问题是由于缺乏整理。然而,参考文献纪录是有的,但是纪录之间没有关系,像列表一样是没有用的。
 
我发现freemind这个开源工具可以用来记录文献的分类,归纳总结一些学过的东西,将文档分成专门的分枝来记忆。其实,这个软件属于大脑风暴软件的一种(brain storm)。下面是我最近用freemind画的一个关于NoC相关的图。
NoC
 
实际上,每一个标签都可以设置成超级链接,比如我就需要将文献加到不同的子类当中,然后用超级链接接起来,以后我就能用这个软件很快地找到一个小内容中的参考文献。
 
忘了给网址了:
http://freemind.sourceforge.net

Using MATLAB Engine Under Linux

By some special requirements, I need to call MATLAB functions in my C++ code. According to my knowledge to MATLAB API, MATLAB Engine is the easiest way to realize this. The experience to implement MATLAB Engine on Windows platform is compared easier than Linux. I have encountered lots of problems today, so I think I would be better to record them down for future use.
 
According the information on http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/f39903.html, we need to use mex command to compile and link a C/C++ code which utilizes MATLAB Engine. The command looks like:
${MATLAB_ROOT}/bin/mex -f ${MATLAB_ROOT}/bin/engopts.sh file.cpp
where the MATLAB_ROOT represents the MATLAB installation path. We need to use engopts.sh since this file can check compiling environment and provide proper compiling parameters. My platform is Linux on x86, so engopts.sh will call gcc/g++ to compile source files and setup proper link libraries.
 
The first problem is the compiling for C++ files. It is very strang that, the compiler and link library settings for C++ files are neglected in engopts.sh file. Therefore, if the source file is a C++ code, we need to modify engopts.sh file. Another way is to use gccopts.sh file instead of engopts.sh.
 
The second problem is the link library. Although my source files can pass compilation and are linked by mex, it cannot run since libstdc++.so  has a wrong version. I found that, if the gcc version is not gcc 4.2 for MATLAB 2007a or gcc 3.2 for MATLAB r14, the final file will not run because of this libstdc++.so library. However, to my best knowledge, the excutable file can find a proper libstdc++.so file itself. So I change the CLIBS configuraton in engopts.sh from  CLIBS="$RPATH $MLIBS -lm -lstdc++" to CLIBS="$RPATH $MLIBS -lm", and the final excutable can run properly.
 
Final problem, path problem. I want to load a data file from MATLAB, and of course I will not run MATLAB in its work directionary. Somehow I found that the data file cannot be successfully loaded by MATLAB. I suspect working path is the underlying reason, but I don’t have time to prove it.
 
Other words in my monther tongue:
我想做的其实就是用C++去写一个命令,可以调用MATLAB去读取数据,用plot给画出来。在windows上,我几年前就用过,但是在Linux上却到处碰壁。到最后我已经失去耐心,因为我发现即使我做成功了,MATLAB的反应速度也太慢了。另外,用gnuplot这个小工具也能获得同样的效果,杀鸡焉用牛刀了。下午在和实验室的一位学长谈起这个问题的时候,他说了一句话我觉得挺对,“这就是自由的代价”。
 
自由意味着什么都要比较麻烦,都要付出很多努力。如果不自由,反而在某些方面会比较方便。比如在windows上用MatEngine, dll文件都写好了,操作系统管了一切,反而比较容易。但是Linux下却要自己该配置文件。如果一个东西是集权的,在使用被支持的应用时,会很方便。但是如果是自由的,什么事情都要照顾到太多方面,有时反而失去了快速和方便的特性。很多其他的东西也是这样。

August Rush

也许我还是喜欢看童话,只有在看童话的时候,我才会如此的激动和专著。童话里的故事是纯洁的,简单的。纯洁和简单到我不由自主地被之激励。我必须现在写下来,因为我知道再过一会,世俗的理智就会让我忘记童话的存在,去嘲笑它们的简单和对生活的幻想。
 
——写在深夜,看完August Rush之后

GUI debugger under Linux

尽管学会了使用gdb,GNU debugger,命令行的方式仍然会造成调试的麻烦,有时候弄不清楚当前的上下文,有些局部变量也访问不到,更要命的是在多线程的时候,转换到不同线程的上下文在gdb下简直成了不可完成的任务。
 
昨天在看学院内关于C语言编程的网页的时候,看到了他们提到了一种GUI的gdb调试扩展——ddd(Data Display Debugger)。实际上就是把gdb的调试图形化,可以通过GUI选择线程,显示变量,上下文,内存等等。感觉上又比gdb更方便了一步。当然,如果用Eclipse的话,它内部也是带有dgb调试器的图形界面的,但是不知道为什么SystemC的代码在Eclipse里面连链接都过不了,我现在仍然只能用Eclipse编写代码,自己写Makefile去编译,然后用gdb去调试。
 
不过现在找到了ddd。还没仔细用,但是更觉很方便。但是,ddd已经两年没有更新了,连他的维护者现在也在找人替代他,因为他自己没有时间维护这个项目。不过,还是有其他的GUI调试器可以用,大部分建立在gdb的基础上,在底层调用gdb,用各种GUI包做调试界面,和dd的道理一样。现在知道的有下面几种:
ddd        在我看来值得一用的软件。http://www.gnu.org/software/ddd/
kdbg      在KDE环境中使用的基于gdb的调试工具。因为基于KDE,我现在用的就是KDE,所以想试一试。http://www.kdbg.org/
             正在更新中,最新版本2.1.0, 17 Dec 2007
Insight   redhat自己用的gdb图形调试器,更新中,最新6.7.1 8 Nov 2007 http://sources.redhat.com/insight/index.php
gvd       GNU Visual Debugger,这个好像不是用gdb的,它是用ada这种语言写的。所以,像Dorris同学遇到的在Cygwin下gdb有问题的情况,也许这个能用一用。
            https://libre.adacore.com/gvd/
 
另外,带参数的程序也是可以调试的。以gdb为例,如果一般的运行参数是 main –time 1000,那么可以用gdb main进入调试,然后用r –time 1000,就可以调试带参数的情况。

SystemC Runtime Error E115

When simulating system transaction level model with SystemC 2.2.0 or later simulation library, driving one signal in two different threads are forbidden, which is not the same behaviour as former libraries. In my simulation, I encountered error message like this:
 
Error: (E115) sc_signal<T> cannot have more than one driver:
 signal `NoC_Top__3X3.signal_106′ (sc_signal)
 first driver `NoC_Top__3X3.NA_2X0_1.na_rx_thread’ (sc_thread_process)
 second driver `NoC_Top__3X3.NA_2X0_1.na_tx_thread’ (sc_thread_process)
In file: ../../../../src/sysc/communication/sc_signal.cpp:137
In process: NoC_Top__3X3.NA_2X0_1.na_tx_thread @ 44 ns
 
To solve this error, I need to set environment variable SC_SIGNAL_WRITE_CHECK to DISABLE before running simulation. Following is the original description in release note of SystemC 2.2.0.
 
  – The check for multiple writers of a signal now defaults on rather than
    off. This means that if two separate processes write to a signal an
    error will be reported. To turn off the check, reverting to the
    behavior of previous releases, one needs set an environment variable:
        setenv SC_SIGNAL_WRITE_CHECK DISABLE
    When set SystemC programs will not perform the write check.

Free Software From Microsoft

    微软一直有学生项目。今天系里面群发邮件,我就得知了这个网址:https://downloads.channel8.msdn.com/Products.aspx
    这里面有7个软件可以提供学生免费使用,可能会有人关心的包括Visual Studio .Net 2008和2005, Windows Server 2003 standard edition和SQL Server 2005。
    看了一下,国内的教育网也在免费范围内,也许还在学校的同学有兴趣下下来用一用。可能需要用户识别,和一个hotmail的用户名。不过软件都很大,在北工大的同学要下可能要破费不少银子。