Cadence SystemC compiler error

快一个星期了,终于找到一种能在我自己的电脑上运行SystemC的软件了。其中遇到一个莫名其妙的错误,也许有人以后也会遇到。
 
运行系统:Linux sandbar.cs.man.ac.uk 2.6.23.1-21.fc7 #1 SMP Thu Nov 1 21:09:24 EDT 2007 i686 athlon i386 GNU/Linux
Fedora 7
 
Cadence SystemC 仿真软件 ncsc
 
在使用ncsc_run仿真SystemC文件的最后一部,链接形成执行文件时出现libc.so第5行语法错误:
/usr/lib/libc.so:5: parse error
 
Fedora 7的libc.so文件如下:
 
/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf32-i386)
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /lib/ld-linux.so.2 ) )
其中AS_NEEDED语句不被ncsc接受,导致出错。
改成:
 
/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf32-i386)
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  /lib/ld-linux.so.2 )
 
错误解决。
 
 
唉,Linux有的时候真是招人恨!特别是Fedora,那么高版本,好多EDA软件都不支持。烦哪!最讨厌大把的时间花在这种东西上。。。
Advertisements

China’s power to UK?

看了今天晚上的Northwest Tonight BBC news,其中有一条:
“最近电线偷窃的问题已经影响到附近教堂的安全。近两年来,电线偷窃问题不断严重,其主要原因是由于金钱。两年前,1千克的废钢50p,而现在1千克1镑。大部分的废钢都会被运到中国。”
 
只能说世界真奇妙了。(1千克废钢1镑,15RMB了,卖到中国还能赚钱,那中国的回收价格是多少?难道英国对废品出口退税?疯掉)

没啥事,烦了,随便写点。
 
电影:
到了英国,看了一个片。国内就见过,但是没看。到了英国才看的,叫做"Shanghai Kiss"。也许是刚到英国,被英国见鬼的口音给闹的,看这部片的时候,一下子就感觉舒服极了。不是回国的那种感觉,片子是英文的,没字幕,但是是标准的美音,还是华裔美国人的标准美国口音。讲述了一个在美国没得混,被鄙视为不会说中文的Chinese Guy,却有一个美国小女孩女朋友。到了上海,想到上海生活,却发现自己根本不属于中国,吃了一堆苦头,回到了美国,找回了自己的“幼齡”女友。不知道怎么搞的,跟有同感一样,就是觉得特别舒服。呵呵。
 
睡觉:
到了英国就睡不醒了,可能是一人一个房,太安静了吧。早上有闹铃也起不来,感觉是没有其他人起床的声音,没有了起床的动力。一直想搞一个带radio的闹铃,就是那种到了时间,能自动打开收音机的东西。妄想能在懒觉和英语之间找点平衡。即使起不来,也听听英语嘛。今天终于从ASDA买了一个,呵呵,花了我7个大洋,贵呀。拿着手感就跟国内路边小摊上那种10元的收音机一样的感觉,做工极次。不过,功能还好了,忍了。
 
英语:
是不是有一点量变到质变了,感觉就和我第一次意识到我近视了的感觉一样。近视的时候,记得是在经管楼,突然发现我看不见黑板了。前天,我走在大马路上,突然发现我能听懂旁边走过的人的只言片语了。以前都是感觉旁边一堆人说的是外星文,叽里呱啦的,根本不懂。
 
SPACE:
最近注意了一下我的MSN Space的点击率,发现点击最高的页面居然是我上个月放上去的关于美国审查程序的那一篇。短短一个月吧,点击已经超过500回了。唉,中国咋那么多人想去美国呢?疯了!俺的SPACE可没想有这个功能,本末倒置。
 
网络:
烦人,我在这里上不了国内网页了!什么xiaonei,douban,yahoo.cn, mail.bjut.edu.cn之类的,根本就是连接超时。害得我只能用代理,超慢无比不能忍。周围好像也这样,有什么事情发生了?国内好像航空管制了几天?干啥呢?不明白呀。。。
 
结婚:
李洋同学今天结婚了哦!祝贺一下,发了条短信,不知道能否送到他那里。
 
旅游:
痛苦呀!原本想圣诞节去伦敦,找了3个人,开始查线路,查景点。结果,慢慢的,无奈的,XX的,3个人变两人,两人变一个人,一个人变没人,现在只剩下我了。一个人去伦敦,还要订票,定旅馆,订门票。像我这种宁可上网瞎看也不愿意操心的人,还不如杀了我,一点成就感都没有。不去了,还是乖乖呆着舒服呀!
就想起这么多了,睡觉!

JabRef2.3

    用了一段时间,觉得JabRef这个软件真的不错。11月份又出了2.3版本。
    这是一个管理参考文献的软件,如果有人有很多英文参考文献需要整理,可以用一用它。在这方面,最专业的软件应该是EndNote。曾经用了一下,觉得还不如JabRef好看,容易上手。简单地说,JabRef有以下几个好处:
    1. 基于JAVA编写,可以在任何支持虚拟机的平台上运行。对于我来说,Windows和Linux上可以运行同一个参考文献管理软件,十分有用。
    2. 可以连接到pdf和网站,在查看参考文献的同时,可以随意打开对应的pdf文件,再也不用记各个pdf文件的文件名了。
    3. 开源软件,由开源社区开发,不断更新中,完全免费。相比,EndNote可不好拿到。
    4. 容易上手,真的不是一般容易。
    5. 可以直接生成各种形式的参考文献列表,其中包括html,xml,endnote,和word支持的rtf格式。列表的形式可以由脚本确定。不懂的话,直接用默认的也挺不错,网上也有一些下载地址。想自己改格式的话,按照bibtex格式写一个layout文件就可以。学学tex也不是坏事。
 
    缺点也有,不支持中文,中文的文献就算了,还是用EndNote吧。还好现在都是英文的。
 
    强烈建议用2.3版。2.3版当中开始支持相对路径,这样无论是在linux还是windows上设置的pdf文件链接都可以直接打开了。
 
    网址:
    参考文献输出格式: http://www.markschenk.com/tools/jabref/

什么是NoC

     因该算是进入正常状态了吧,周一到周五每天10:00到实验室,晚上8:00到实验室,待到10:30,除去吃饭时间每天估计工作9个小时。周五会和组内的学长和老师出去玩1个小时的羽毛球,周日玩2~4个小时的羽毛球。周五晚上看场电影,用laptop的,没钱去影院(of course)。每天1:30睡觉,睡觉前1个小时会听听BBC,northwest tonight,和BBC news。呵呵,每天12:00左右会做几个俯卧撑,再洗个澡,感觉比国内轻松点。
    流水帐就这么多,没什么好说的了。想了想,space还是要写点什么的,没东西,就写写课题吧,恢复到国内的内容了。今天先介绍一下,什么是Noc, Network-on-chip,片上网络。
    尽量写的让常人能够明白,不过我本身就不会讲东西,老是拽名词,见谅。
   
    片上网络是2000年之后提出的一个概念,源于现在Stanford大学EECS, Computer Systems Laboratory的教授Prof. William J. Dally的一篇文章: "Route Packets, Not Wires: On-Chip Interconnection Networks," DAC’01. Proceedings of Design Automation Conference, 2001.以后还会提到这个人。
    首先大家都知道CPU, 从80年代到现在CPU的速度发展一直遵守moors law,就是每18个月processor的速度会提高一倍。然而,最近,工业界很难再保持这个速度,原因是在器件领域出现了问题。以往的速度提升,主要是靠器件尺寸的减小,称为scaling。由于scaling,单个逻辑门的传输延时比例变短,因此时种频率比例提高。然而,到了.13nm以下,线路延时已经开始超过门的传输延时,并且由于器件尺寸减少,传输线的宽变小,RC参数变大,延时变长导致传输延时的效应更加严重。因此,始终频率不能再简单依靠器件尺寸的减少而提高。
    此外,由于器件尺寸的减小,门电路阈值电压降低,导致0电平和1电平之间的距离变小。比如分立器件,TTL使用5V电压,CMOS使用3.3V,2.5V,芯片内部现在开始使用1V甚至小于1V。0电平和1电平电压差的减少直接导致传输线更容易受到干扰,称为串扰,或者SI problems。这样,芯片内部的数字电路将受到串扰影响,而不再正确。呵呵,可能需要引入SNR的概念?
    基于这种情况,简单的提高CPU的速度已不现实。回想一下,4年前我们用的是1G的CPU,现在我们用什么?2.4G~2.8G,并没有提升多少。所以,工业界开始研究多核,用多个CPU来干原来1个CPU干的活,希望用这种结构保持moors law。
    多核并不是什么新鲜概念,在嵌入式系统(embedded system)和片上系统(SoC)里早就有了多核。但是,这些多核用的是总线来连接CPU,或者processor。BUS的主要问题是冲突。一个时间只有一个BUS Master可以驱动总线,在有多个CPU的情况下,这种链接形式必然限制了CPU的带宽。其实Intel的Duo用的就是总线,他们共享Memory bus甚至L2 Cache(如果我没记错),所以别期望近几年Intel能用上真正的NoC。
    如果两个CPU直接需要通讯,简单的办法是单独建立一个总线即可。但是,如果你有10个以上的CPU呢?这种点到点的连接方式,总线数量会随着节点数量的增长而指数增长的。
解决办法就是用网络,建立网络的拓扑结构,其中就涉及到了Prof. William J. Dally的论文。利用传统领域的网络概念来管理多CPU之间的数据通讯开始进入人们的视线。而关于这种片内多个CPU之间的网络的研究,就称为Network-on-Chip, NoC。
    先说到这里。

CS学院网络使用

介绍一下CS学院的计算机网络

帐户类型:
所有CS学院的PG学生默认存在两个账户,研究帐户researching domain和教学帐户teaching domain,其中研究帐户为实验室电脑的默认登陆帐户,教学帐户为教学系统使用。比如很多同学是demonstrator,那么想在lab之前先自己做一下实验。很多脚本都在教学帐户,用研究账户无法访问。

服务器:
CS学院的服务器按照这两个系统分割。一般实验室的电脑属于研究网络。教学系统有一些特定的服务器可以访问,其中包括:
ug001.cs.man.ac.uk ~ ug070.cs.man.ac.uk     Fedora 5    Linux
eng001.cs.man.ac.uk ~ eng048.cs.man.ac.uk   Fedora 5    Linux
n9plus.cs.man.ac.uk                         Solaris 9   UNIX
rs0.cs.man.ac.uk                            Fedora 5    Linux

服务器登录:
CS学院的服务器选择SSH协议登录,而不能使用telnet。登录方法,比如eng001.cs.man.ac.uk
ssh eng001.cs.man.ac.uk

教学系统脚本:
教学系统的命令脚本只能在教学服务器访问。建议在bash的初始化脚本.bashrc文件当中添加路径:
/opt
/opt/scripts
/opt/teaching/bin
/opt/cs/bin

名字查询:
CS学员的UNIX系统提供学院的名字查询服务csinfo。登录n9plus服务器,使用csinfo命令,可以查询学院任何一个学生的相关信息。比如我,输入命令csinfo wei.song可以得到如下信息:
——————————————————————————
A Person                                                       Mail Name:wsong
Mr Wei Song
Departmental role PhD07, PhD Student who "notionally" started in 2007
Research group AMULET, AMULET Group
Research group APT, Advanced Processor Technologies
Unix account songw    Unix UID 22044
Default group 800 apt
Shell /bin/bash
Mail Delivered on t8
cs.man.ac.uk domain group list: apt
NIS domain        Expiry date Home directory                 Responsible person
cs.man.ac.uk      19-Sep-2010 /home/P07/songw                aloyns
teaching.cs.man.a 19-Sep-2010 /home/P07/songw                aloyns
Receives mail sent to: mbaxgws2, songw, w.song, wei.song, wsong
从上可以看出,我是07年入校的PhD,工作目录/home/P07/songw(别攻击我),属于APT小组,所有发到mbaxgws2, songw, w.song, wei.song, wsong的email会被我收到。这个系统也可以查询所有的老师和工作组。

配额:
CS学院不好的一点是每个学生的工作目录配额极小,只有240M。也就是说,当你工作目录下的所有文件超过240M,你的文件可能被删除,你可能被禁止对文件的操作除了删除。另外,你的@cs.man.ac.uk邮箱将会发生退递的现象。
查询配额的方法是在研究账户下使用quota命令,另外,教学账户下可以使用duplus命令检查目录的文件大小。这两个命令的路径分别是:
/usr/bin/quota
/opt/teaching/bin/duplus
解决办法是使用符号链接,使用本地磁盘空间。本地磁盘的位置一般在/mnt目录下。使用df -T可以查询磁盘使用。其中在/mnt目录下,类型为ext3的磁盘为本地磁盘,可供使用。符号链接的命令是ln -s。唯一的缺点是,你只能通过自己的服务器使用本地目录,ssh到其他服务器上,符号链接将无法访问。

远程登录:
想在宿舍干活的话,可以远程登录实验室的服务器。方法是使用Xmanager软件的xstart。
其中host为你的服务器地址,protocol选择SSH,execution command输入/usr/bin/xterm -ls。(感谢郑志硕同学的帮助)
这种方法提供X-windows支持。

远程文件:
CS学院的服务器一般不允许ftp登录,除了n9plus和rs0。如果费用ftp可以使用这两个服务器,不公只能访问工作目录,不能管理本地磁盘(显然的)。
不过,如果有cuteftp,可以使用ssh方式。至少在cuteftp v8以上版本,在服务器类型当中选择sftp类型,就可以登录实验室电脑管理文件。

远程文件操作:
建议使用UltraEditor,它包含ftp工作方式。在ftp站点也可以使用ssh方式,可以使用UltraEditor开启远程文件,修改并保存。不过,要是vi使得输得话,还是ssh登录用vi比较好,UltraEditor的FTP登录有时会比较慢。

邮件系统:
建议使用thunderbird软件。CS学院的邮件系统使用IMAP协议而并非pop3协议。因此foxmail的支持不好。其中关于IMAP服务器的设置,使用csinfo查看自己的信息,其中会标明邮件服务器地址。比如我的信息当中有Mail Delivered on t8,说明我的邮件服务器应该是t8.cs.man.ac.uk。

内部网页:
关于CS的网络,软件信息,可以查询网页http://intranet.cs.man.ac.uk/software/,不过需要UNIX用户名和密码登录。

密码修改:
教学系统和研究系统有各自的密码。在不同系统的服务器上,使用yppasswd命令可以修改密码。改变教学系统的密码,你的@cs.man.ac.uk邮箱密码也会随之改变。