2008年12月26日星期五

学会发现他人身上的智慧

首先,要懂得在与自己接触的人身上投入更多的时间。当你花时间和他们在一起的时候,要懂得为他们设想,建立起友谊。不管这种友谊是商业性质的还是私人性质的,建立友谊才能使彼此更好地交往。同时,在友谊的发展中,要表示出对对方的关心,你越关心你的客户,他们就越有兴趣和你做生意。关心的感情因素是那么的强烈,往往使得价格、品质、交货效率、公司在市场上的规模,都敌不过它的威力。

其次,要学会尊重你所遇见的每个人。常言道,一个人有所为有所不为,都是为了博得你所重视的人对你的尊敬。每当我们感受到别人的尊重,我们就会对那个人特别重视。假如有人尊敬我们,我们就会认为那个人比较优秀,比较有判断力,比较有内涵,而且个性也比较好。一个人的骄傲、尊严、自我肯定,大部分都来自受到别人的尊敬程度。你越在意别人的意见,别人对你的尊敬程度就越会影响你的行为。

再次,不要轻易批评和指责对方,而是应站在对方的角度上考虑问题,每当你听到别人提起竞争者的名字时,只要微笑地说:“那是一个很不错的公司(人)。”如果你听到你的竞争者在批评你,你也可以一笑置之。这是一种智慧的体现,而这种做法也能使你结交到更智慧的人。而每当你羡慕一个人的成就、特质、财产时,就会提高他的自我肯定,让他更得意。只要你的羡慕、赞同、感谢都是发自内心,别人就会因此而得到正面的肯定的影响。他们对你产生好感的程度,会相当于你让他们对自己及生活的满意度。

最后,一定不要轻易和对方发生争吵,争吵是一种最不明智和智慧的做法。不管对方说什么,你只要点头、微笑就可以了。很多人喜欢和与自己英雄所见略同的人打交道,他们不喜欢和爱抬杠的人相处。甚至对方真的错了,他们依然不喜欢你把他的问题揪出来。把眼光放在建立关系上面,以建立关系的利益来考虑,你就会智慧很多。

表现出对对方的重视就要集中注意力听对方说话,这是对对方的最大恭维,这种做法会使对方感觉自己很有价值,很重要。社交中,永远要明确:你的任务是成为一个人际关系高手,成为一个人际关系专家。你的任务是去成为一个在行业中最好、最有人缘的人。

很多人不管在职场中还是生活中,都希望对方无条件地接受自己的要求,这或许是人的基本心理特点吧。而很多时候强制性的要求会使对方感觉到反感,而此时只需要用微笑表现出自己的温和友善就可以了。结交智慧型人脉需要的是你自己首先要智慧,比如每当你称赞并同意他人所做的任何事,他就会感到快乐会变得更有精神。他的心跳会加快,会觉得自己很棒。当你在每个场合都竭力找机会对他人表示赞扬及同意的时候,你就会成为到处受人欢迎的人物。对于所有帮助过你的人,你都要懂得感谢他们,尤其要向那些会让你期望的好事连连不断发生的人,表达感谢之意。

除非你放弃,否则你就不会被打垮

洛克菲勒给儿子的三十八封信之第八封:只有放弃才会失败

格言:世界上没有一样东西可取代毅力。

除非你放弃,否则你就不会被打垮。

有太多的人高估他们所欠缺的,却又低估了他们所拥有的。

(Too many people overvalue what they are not and undervalue what they are.)

February12,1909

亲爱的约翰:

今天是伟大的一日!

今天,合众国上下怀着一种特有的感念之情,来纪念那颗伟大而又罕有的灵魂——无愧于上帝与人类的先总统亚伯拉罕·林肯先生。我相信林肯受之无愧。

在我真实的记忆中,没有谁能比林肯更伟大。他编织了一段合众国成功而又令人动容的历史,他用不屈不挠的精神与勇气以及宽厚仁爱之心,使四百万最卑下的黑奴获得解放,同时击碎了二千七百万另一肤色的合众国公民灵魂上的枷锁,结束了因种族仇恨而使灵魂堕落、扭曲和狭隘的罪恶历史。他避免了国家被毁灭的灾难,将一切不同语言、宗教、肤色和种族组合成为一个崭新的国家。合众国因他获得了自由,因他而幸运地踏上了正直公平的康庄大道。

林肯是上世纪最伟大的英雄,今天,在他百年诞辰之际,举国上下追思他为合众国所做的一切,就是一个最好的证明。

然而,当我们重现并感激他的光辉伟业之时,我们更应汲取并光大其人生所具有的特殊教益——执着的决心与勇气。我想我们纪念他的最好方式就是效法他,让他从不放弃的精神光照美国。

在我心中,林肯永远是不被困难吓倒、不屈不挠的化身。他生下来就一贫如洗,曾被赶出家园。他第一次经商就失败了,第二次经商败得更惨,以致用去十几年的时间他才还清了债务。他的从政之路同样坎坷,他第一次竞选州议员就遭失败,并丢掉了工作。幸运的是,他第二次竞选成功了。但接下来是丧失亲人的痛苦的竞选州参议员发言人的失败在等待着他。然而他依然没有灰心,在以后竞选中他曾六度失败,但每次失败过后他仍是力争上游,直至当选美国总统。

每个人都有历尽沧桑和饱受无情打击的时候,却很少有人能像林肯那样百折不回。每次竞选失败过后,林肯都会激励自己:“这不过是滑了一跤而已,并不是死了爬不起来了。”这些词汇是克服困难的力量,更是林肯终于享有盛名的利器。

林肯的一生书写了一个伟大的真理:除非你放弃,否则你就不会被打垮。

功成名就是一连串的奋斗。那些伟大的人物,几乎都受过一连串的无情打击,他们每个人都险些宣布投降,但是他们因为坚持到底,终于获得了辉煌的成果。例如伟大的希腊演说家德莫森,他因为口吃,而生性害臊羞怯。他父亲死后给他留下一块土地,希望他能过上富裕的生活,但当时希腊的法律规定,他必须在声明拥有土地之权之前,先在公开的辩论中赢得所有权。很不幸,因为口吃加上害羞使他惨败,结果丧失了那块土地。但他没有被击倒,而是发愤努力战胜自己,结果他创造了人类空前未有的演讲高潮。历史忽略了那位取得他财产的人,但几个世纪以来,整个欧洲都记得一个伟大的名字——德莫森。

有太多人高估他们所欠缺的,却又低估他们所拥有的,以至丧失了成为胜利者的机会。这是个悲剧。

林肯的一生就是化挫折为胜利的伟大见证。没有不经失败的幸运儿,重要的是不要因失败而变成一位懦夫。如果我们尽了最大努力仍然不达目的,我们所应做的就是汲取教训,力求在接下来的努力中表现得更好就行了。

坦率地说,我无心与林肯总统比较,但我有他些许的精神,我痛恨生意失败、失去金钱,但是真正使我关心的是,我害怕在以后的生意中,会太谨慎而变成懦夫。如果真是那样,那我的损失就更大了。

对一般人而言,失败很难使他们坚持下去,而成功则容易继续下去。但在林肯那里这是个例外,他会利用种种挫折志失败,来驱使他更上一层楼。因为他有钢铁般的毅力。他有一句话说得好:“你无法在天鹅绒上磨利剃刀。”

世界上没有一样东西可取代毅力。才干也不可以。怀才不遇者比比皆是,一事无成的天才很普遍;教育也不可以。世上充满了学无所用的人。只有毅力和决心无往不利。

当我们继续迈向高峰时,我们必须记住:每一级阶梯都供我们踩足够的时间,然后再踏上更高一层,它不是供我们休息之用。我们在途中不免疲倦与灰心,但就像一个拳击手所说的,你要再战一回合才能得胜。碰到困难时,我们要再战一回合。每一个人的内在都有无限的潜能,除非我们知道它在哪里,并坚持用它,否则毫无价值。

伟大的机会不假外求,然而,我们得努力工作才能把握它。俗语说:“打铁趁热。”的确不错。毅力与努力都重要。每一个“不”的回答都使我们愈来愈接近“是”的回答。“黎明之前总是最黑暗”,这句话并非口头禅,我们努力工作发挥技巧屯才能时,成功的一天终会到来。

今天,我们在感激、赞美林肯总统的时候我们不能忘记的是要用他一生的事迹来激励自己。即使这样做了,我们顶天立地的一天仍未到来,我们依然是个大赢家。因为我们已经有了知识,也懂得面对人生,那是更大的成功。

爱你的父亲

永不退缩的林肯



林肯生下来就一贫如洗,终其一生都在面对挫败,八次竞选八次落败,两次经商失败,甚至还精神崩溃过一次。然而面对这些,他并没有放弃,最终成为美国历史上最伟大的总统之一。

以下是林肯进驻白宫前的简历:

1809年,出生在寂静的荒野上的一座简陋的小屋 
1816年,7岁,全家被赶出居住地,他必须工作以抚养他们 
1818年,9岁,年仅34岁的母亲不幸去世 
1827年,18岁,自己制作了一艘摆渡船 
1831年,22岁,经商失败 
1832年,23岁,竞选州议员,但落选了,想进法学院学法律,但进不去,工作也丢了 
1833年,24岁,向朋友借钱经商,年底破产.接下来花了16年,才把这笔钱还清 
1834年,25岁,再次竞选州议员,当选 
1835年,26岁,订婚后即将结婚时,未婚妻病逝,因此他的心也碎了 
1836年,27岁,精神完全崩溃,卧病在床6个月 
1838年,29岁,努力争取成为州议员的发言人,没有成功 
1840年,31岁,争取成为被选举人,落选了 
1843年,34岁,参加国会大选,又落选了 
1846年,37岁,再次参加国会大选,这次当选了!前往华盛顿特区,表现可圈可点 
1848年,39岁,寻求国会议员连任,失败了 
1849年,40岁,想在自己州内担任土地局长,被拒绝了 
1854年,45岁,竞选参议员,落选了 
1856年,47岁,在共和党的全国代表大会上争取副总统的提名得票不到100张 
1858年,49岁,再度参选参议员,再度落选 
1860年,51岁,当选美国总统 

1864年,55岁,连任美国总统,北方军取得胜利 
1865年,56岁,内战结束,随后被枪杀在剧场

“我一只脚滑了一下,另一只脚也因而站不稳;但我缓口气,告诉自己,这不过是滑了一跤,并不是死去而爬不起来。”林肯在竞选参议员落败后说。这是我们每一个人都应该记住的话。

生下来就一无所有的林肯,终其一生都在面对挫败。他曾经绝望至极,但从没有放弃人生这场跳高比赛。

《宅地法》(1852年5月20日颁布)
  使公有土地上实际移殖者获得土地的法案。应制定,凡身为家长者,或已达21岁的年龄并为合众国公民者,或决定依照合众国入籍法的规定填写志愿入籍声明书,同时从没有持械反抗过合众国政府,支援或教唆合众国的敌人者,应从1863年元月1日起有权登记1/4平方英里或以下尚未分配给私人的公有土地;上述之人可提出一优先购买的申请,申请之时即可以每英亩一美元二角五分或更低的价格优先购买土地;或应在测量之后,按照公有土地法定的再分割办法登记坐落在一块的80英亩或以下的此种尚未分配给私人占有的公有土地,那是每英亩二美元五角;应规定,凡占有土地或居住该地者,根据本法案的规定,可另行登记邻近于其原有土地的土地,连其原来所有的土地及占有土地在内,总数不得超过160英亩。

《解放黑人奴隶宣言》
  林肯总统于1862年9月22日颁布。宣言规定,凡参加叛乱诸州和地区内“为人占有而做奴隶的人们都应在那时(指1863年1月1日──编者)及以后永远获得自由”,“合众国政府,包括陆海军当局,将承认并保障上述人等的自由。”

林肯也经常开玩笑。

  早在读书时,有一次考试,老师问他:“你愿意答一道难题,还是两道容易的题目?”林肯很有把握地答:“答一道难题吧。”“那你回答,鸡蛋是怎么来的?”“鸡生的。”老师又问:“那鸡又是从哪里来的呢?”“老师,这已经是第二道题了。”林肯微笑着说。

  当上总统后,由于是鞋匠的儿子,受人侮辱。他的一个手下在纸条上写了“笨蛋”传给林肯。林肯看后,不但没有生气,反而幽默地说:“我们这里只写正文,不记名。而这个人只写了名字,没写正文。”

  一次,林肯步行到城里去。一辆汽车从他身后开来时,他扬手让车停下来,对司机说:“能不能替我把这件大衣捎到城里去?”“当然可以,”司机说,“可我怎样将大衣交还给你呢?”林肯回答说:“哦,这很简单,我打算裹在大衣里头。”司机被他的幽默所折服,笑着让他上了车。

  林肯当过律师。有一次出庭,对方律师把一个简单的论据翻来覆去地陈述了两个多小时,讲得听众都不耐烦了。好不容易才轮到林肯上台替被告辩护,他走上讲台,先把外衣脱下放在桌上,然后拿起玻璃杯喝了两口水,接着重新穿上外衣,然后再脱下外衣放在桌上,又再喝水,再穿衣,这样反反复复了五六次,法庭上的听众笑得前俯后仰。林肯一言不发,在笑声过后才开始他的辩护演说。

  林肯的脸较长,不好看。一次,他和斯蒂芬·道格拉斯辩论,道格拉斯讥讽他是两面派,林肯答道:“要是我有另一副面孔的话,我还会戴这副难看的面孔吗?”

  有一次,林肯在擦自己的皮鞋,一个外国外交官向他走来说:“总统先生,您竟擦自己的皮鞋?”“是的,”林肯诧异地反问,“难道你擦别人的皮鞋?”

  有人认为林肯对待政敌的态度不够强硬,对他说:“你为什么要让他们成为朋友呢?你应该想办法消灭他们才对。”“我难道不是在消灭政敌吗?当我使他们成为我的朋友时,政敌就不存在了。”林肯温和地说。

  又有一次,一个妇人来找林肯,她理直气壮地说:“总统先生,你一定要给我儿子一个上校的职位。我们应该有这样的权利,因为我的祖父曾参加过雷新顿战役,我的叔父在布拉敦斯堡是惟一没有逃跑的人,而我的父亲又参加过纳奥林斯之战,我丈夫是在曼特莱战死的,所以……”林肯回答说:“夫人,你们一家三代为国服务,对国家的贡献实在够多了,我深表敬意。现在你能不能给别人一个为国效命的机会?”那妇人无话可说,只好悄悄走了。 

2008年12月25日星期四

Socket程序之平台差异:windows vs linux

1)头文件 
windows下winsock.h或winsock2.h
linux下netinet/in.h(大部分都在这儿),unistd.h(close函数在这儿),sys/socket.h(在in.h里已经包含了,可以省了)

2)初始化
windows下需要用WSAStartup启动Ws2_32.lib,并且要用#pragma comment(lib,"Ws2_32")来告知编译器链接该lib。
linux下不需要

3)关闭socket
windows下closesocket(...)
linux下close(...)

4)类型
windows下SOCKET
linux下int(我喜欢用long,这样保证是4byte,因为-1我总喜欢写成0xFFFF)

5)获取错误码 
windows下getlasterror()/WSAGetLastError()
linux下,未能成功执行的socket操作会返回-1;如果包含了errno.h,就会设置errno变量

6)设置非阻塞
windows下ioctlsocket()
linux下fcntl(),需要头文件fcntl.h

7)send函数最后一个参数
windows下一般设置为0
linux下最好设置为MSG_NOSIGNAL,如果不设置,在发送出错后有可能会导致程序退出

8)毫秒级时间获取
windows下GetTickCount()
linux下gettimeofday()

9)多线程 
windows下包含process.h,使用_beginthread和_endthread
linux下包含pthread.h,使用pthread_create和pthread_exit

10)用IP定义一个地址(sockaddr_in的结构的区别)
windows下addr_var.sin_addr.S_un.S_addr
linux下addr_var.sin_addr.s_addr
而且Winsock里最后那个32bit的S_addr也有几个以联合(Union)的形式与它共享内存空间的成员变量(便于以其他方式赋值),而Linux的Socket没有这个联合,就是一个32bit的s_addr。遇到那种得到了是4个char的IP的形式(比如127一个,0一个,0一个和1一个共四个char),WinSock可以直接用4个S_b来赋值到S_addr里,而在Linux下,可以用边向左移位(一下8bit,共四下)边相加的方法赋值。

11)异常处理
linux下当连接断开,还发数据的时候,不仅send()的返回值会有反映,而且还会像系统发送一个异常消息,如果不作处理,系统会出BrokePipe,程序会退出。为此,send()函数的最后一个参数可以设MSG_NOSIGNAL,禁止send()函数向系统发送异常消息。

2008年12月23日星期二

巴菲特警言

任何不能永远发展的事物,终将消亡。 
  If something can't go on forever, it will end.
(70%在纽约证交所的股票永远消失了,这也是中国的未来。这句话是他从物理学变通过来的, "不永远运动的,就会停止".价值投资每年的全美60人聚会,包括大家一起听爱因斯坦的相对论。因为价值投资相信,知识是不可以用专业分割的。中国的大学,最擅长培养会微积分的高分低能人士。这种人缺乏从A直接跳到Z的能力。缺乏从物理/数学/文学/艺术跳到股票的能力. 微软和IBM的第一轮面试,考你"北京有多少个百万富豪",就是为了消灭这些"什么都会,就是不会思考的人",这种人回答是"我不知道", 这种人也不会爱艺术。)

  1988年年报 时间是杰出企业的朋友,平庸企业的敌人。
(是的,有的股票现在在3000点呢,讨论上证是多么的无聊,甚至可以列入幼稚)

  1989年年报 当发现自己处在洞穴中时,你要做的第一件事就是停止挖掘。

  1990年年报 在错误的道路上,奔跑也没有用。
(插一句,奔跑也没有用,大喊大叫也没有用)

  1993年年报 可口可乐在1890年时整个公司大约值2000美元今天它的市值为500亿美元。如某个人在1890年时买该公司股票时,有人可能会对他说:"我们将会有两次世界大战,会有1907年的大崩盘。是不是最好等一等?"我们不能犯这个错误。

  1994年年会 几乎在任何领域,专业人员取得的成就明显地高于门外汉。但在金钱的管理上往往并非如此。
(呵呵, 你们天天看到失败的专业人士)

  1994年12月6日投资的基本思想是:把股票当作企业来看待,利用市场波动来取得优势,寻找安全的余地。这是本.格雷厄姆教导我们的……百年以后,这仍将是投资的基石.
( 是的,波动在BS模型里是风险,在价值投资却是优势。你能3折买赤湾,这难道会风险更大吗?)

  1994年12月6日如果你一生中找到三个杰出的企业,你就会变得非常富裕。
(同意, 继续努力中)

  1996年年会 1986年我的最大的成就就是没有做任何蠢事。诀窍是当没有合适的事情可做时,就什么也不做。
(对,永远呆在市场上是错的,空仓比止损境界高多了)

  广泛引用购买股票很简单。你要做的事情是按低于企业内在价值的价格购买一家企业的股票,如该企业管理层诚实可靠、有能力,那么你就永远持有这些股票。
(注意,他说的是永远)

  1990年8月6日 近年来,我的投资重点已经转移。我们不想以最便宜的价格买最糟糕的家具,我们要的是按合理的价格买最好的家具。
(好股就一个字:贵)

投资并非一个智商为160的人就一定能击败智商为130的人的游戏。
(看第一句的评论,中国从来就培养只会数学的白痴)

" 市场先生"是你的仆人,而不是你的向导。
(这是投机和投资的一个明显区别,投机的往往说自己"对市场有敬畏之心",而投资人士把Mr.Market"市场先生"当成神经质的家伙,被他引导,只会一起疯。所以,我们利用"市场先生", 我们无视噪音。)

在别人贪婪时恐惧,在别人恐惧时贪婪。
(反向就是价值的源泉,但是反向不代表你是价值投资)

从短期来看,股市是一个投票机;而从长期来看,股市是一个称重机。
(老师的话)

价格是你所付出的,价值是你所得到的。
(上大学的学费,是价格,大学教育是价值。价格和价值是不等的。

我宁要模糊的正确,也不要精确的错误。
(我以前很爱技术指标, 就是精确的错误.)

对于大多数投资者而言,重要的不是他知道什么,而是清醒地知道自己不知道什么。如果你不愿意拥有一家股票10年,那就不要考虑拥有它十分钟。
(买股票不是买个代码)

于每一笔投资,你都应当有勇气和信心将你净资产的10%以上投入。

2008年12月22日星期一

Linux下Opera中文输入问题及中文字体设置解决方案

1. iBus 与 Opera 9.62 浏览器 有 冲突,不能 在 Opera 浏览器里 调出 输入法 。。。
1.请用 Qt4 版本 Opera,或 Qt3 版本 Opera 
2.执行 sudo sed -i '2aexport QT_IM_MODULE=xim' /usr/bin/opera
以上方法 只能 在屏幕左下角 显示 输入框 ,不能 跟随光标 移动。(暂时的解决方案)

2. Linux下Opera字体设置
在Linux下使用Opera浏览中文页面时经常会发生字体混乱的问题。具体来说就是在一行中文中大部分都是宋体但是有时会蹦出来几个楷体字而且字号偏小显示模糊。
这一问题的产生和Opera的字体调用机制有关,解决起来也不难。Linux下Opera的字体配置文件是目录/usr/share/opera/ini下的font.ini文件,用VI编辑器打开该文件,找到“Know fonts that solves specific problems”项,修改包含“chinese-s good try-first”的条目如下family:WenQuanYi Bitmap Song=chinese-s good try-first,如果使用微软的SimSun字体(最好不要用,牵扯版权问题)相应的将WenQuanYi Bitmap Song替换为SimSun即可。 而后将上下的japanese和korean条目注释掉。完成上述修改后,重启Opera即可。

2008年12月16日星期二

【转帖】我的FPGA学习历程

原文出处:http://blog.ednchina.com/chactor/181287/message.aspx
FPGA,已经有一段时间了,从开始的茫然,到后来的疯狂看书,设计开发板,调电路,练习各种FPGA实例,到最后能独立完成项目,一路走来,感受颇多,拿出来和大家分享,顺便介绍下自己的一点经验所得,希望对初学者有所帮助。
  废话不说了,下面进入正题,学习FPGA我主要经历了这么几个阶段:

①、Verilog语言的学习,熟悉Verilog语言的各种语法。
②、FPGA的学习,熟悉QuartusII软件的各种功能,各种逻辑算法设计,接口模块(RS232,LCD,VGA,SPI,I2c等)的设计,时序分析,硬件优化等,自己开始设计简单的FPGA板子。
③、NiosII的学习,熟悉NiosII的开发流程,熟悉开发软件(SOPC,NiosII IDE),了解NiosII的基本结构,设计NiosII开发板,编写NiosII C语言程序,调试板子各模块功能。

先来说说第一个阶段,现在主要的硬件描述语言有VHDL,Verilog两种,在本科时老师一般教VHDL,不过现在

Verilog用的人越来越多,其更容易上手(与C语言语法比较类似),也更灵活,现在的IC设计基本都用Verilog。像systemC,systemVerilog之类的应该还在萌芽阶段,以后可能会有较大发展。鉴于以上原因我选择了Verilog作为我学习的硬件描述语言。
其实有C语言的基础,学起Verilog的语言很简单,关键要有并行的概念,所有的module,assign,always都是并行的,这一点与软件语言有明显不同。这里推荐几本评价比较好的学习Verilog的书籍:
①、《verilog 数字系统设计教程》,这本书对于入门是一本很好的书,通俗易懂,让人很快上手,它里面的例子也不错。但本书对于资源优化方面的编程没有多少涉及到。
②、《设计与验证Verilog HDL》,这本书虽然比较薄,但是相当精辟,讲解的也很深入,很多概念看了这本书有种豁然开朗的感觉,呵呵。
学习Verilog其实不用看很多书,基本的语法部分大家都一样,关键是要自己会灵活应用,多做练习。

Verilog语言学了一段时间,感觉自己可以编点东西,希望自己编的程序在板子上运行看看结果,下面就介绍我学习的第二个阶段。
刚开始我拿了实验室一块CPLD的开发板做练习,熟悉QuartusII的各种功能,比如IP的调用,各种约束设置,时序分析,Logiclock设计方法等,不过做到后面发现CPLD的资源不太够(没有内嵌的RAM、不能用SignalTapII,LE太少等),而实验室没有FPGA开发板,所以就萌生了自己做FPGA开发板的意图,刚好Cadence我也学的差不多了,就花了几天时间主要研究了FPGA配置电路的设计,在板子上做了Jtag和AS下载口,在做了几个用户按键和LED,其他的口全部引出作为IO口,电路比较简单,板子焊好后一调就通了(心里那个爽啊...)。我选的FPGA是cycloneII系列的EP2C5,资源比以前的FPGA多了好几倍,还有PLL,内嵌的RAM,可以试试SignalTapII,用内嵌的逻辑分析仪测试引脚波形,对于FPGA的调试,逻辑分析仪是至关重要的。利用这块板子我完成了项目中的几个主要功能:RS232通信,指令译码,配置DDS,AD数据高速缓存,电子开关状态设置等,在实践中学习起来真的比平时快很多,用到什么学什么动力更大。这个时候我主要看的数据有这几本感觉比较好:
①、《Altera FPGA/CPLD 设计(基础篇)》:讲解一些基本的FPGA设计技术,以及QuartusII中各个工具的用法(IP,RTL,SignalProbe,SignalTapII,Timing Closure Floorplan,chip Editor等),对于入门非常好。
②、《Altera FPGA/CPLD 设计(高级篇)》:讲解了一些高级工具的应用,LogicLock,时序约束很分析,设计优化,也讲述了一些硬件编程的思想,作为提高用。
③、《FPGA设计指南--器件,工具和流程》:这本书看了他的目录忍不住就买了,这本书讲述了FPGA设计的各个方面,虽然每个方面都是点到为止,但能让你有个整体的概念,了解FPGA的所有设计功能,了解FPGA开发的整个流程。
④、在这里也推荐几个学习FPGA比较好的论坛
http://www.edacn.net/bbs
http://www.eetop.cn/
⑤、其实最好的学习网站莫过于Altera的官方网站www.altera.com,不过很多人一看到英语就不想看,其实上面的英文很简单,很多时候不敢看是因为对自己没信心或心静不下来看。不过官方网站上资料很多,刚开始可能会觉得资料安排的有点乱,不方便查找,以后有时间我列个资料的链接目录,整理一下,方便大家查找。

到这里,自己最FPGA的学习有一段时间了,练习了很多实例,自己也编写了不少程序,也有了一些项目经验,算是对FPGA有些了解了。在不断的学习中发现FPGA不仅可以做逻辑设计,算法设计等,还能做嵌入式开发,altera先后开发了Nios,NiosII两款FPGA的嵌入式软核,并有配套的软件,刚开始看到这些我真是心中突然豁然开朗,学习真的是无止境,又一个全新的领域摆在我面前,我决定学习NiosII,要学就要学最好。
刚开始入门是很痛苦的,嵌入式设计需要从硬件到驱动到软件全部熟悉,硬件系统问题还不是很大(以前做过单片机,DSP等MCU),处理器的架构心里还有点数,对于驱动和软件工程,刚开始学习真的很头痛。NiosII应该还算比较新的内容(应该是2004年出的),国内的书籍不算很多,网上这方面的资料也比较零碎,所以我就开始将Altera网站上这方面的资料系统的看一边,这里推荐几本网站上的handbook:
①、Embedded Design Handbook
②、Nios II Processor Reference Handbook
③、Nios II Software Developer's Handbook
④、Quartus II Handbook, Volume 4: SOPC Builder
⑤、Quartus II Handbook, Volume 5: Embedded Peripherals
看完这些handbook,总算基本明白整个架构,软硬件设计方法,驱动的编写等,感觉自己可以编一些嵌入式的程序了,不过虽然前面做的那块ep2c5的板子支持NiosII系统,不过对于嵌入式设计来说还是显得单薄了一点,没有SDRAM,Flash这两个比较基本的模块,Ep2C5内嵌的RAM太小,程序写不大,而且每次总要绞尽脑汁优化程序代码大小,很多时候优化了后函数功能会受到限制,不利于初学者,也不利于调试。所以到这里我有产生了自己做一块Nios开发板的想法(直接买比较贵,自己做便宜,而且还能锻炼自己,一举两得),通过借鉴其他开发板,选择自己开发板上需要包含什么模块,确定各个模块使用什么芯片,阅读各个芯片的datasheet,画出原理图并做出PCB图,这块板子我选的是Ep2c8Q208,比上一块资源又将近多了一倍,板子上还有以下模块:SDRAM,Flash,EPCS4,RS232,USB,VGA,PS2,AD,DA,LCD等,满足了一般开发板的配置要求。板子回来以后调试了四五天,(flash工作了,LCD显示了,RS232通了,USB通了,AD,DA工作了,SDRAM正常了...),真是每天都有惊喜,每个模块都编写了NiosII软件测试程序,调试硬件的时候对软件的运行也更熟悉了。在这次调试的过程中真的学到了很多,为此专门写了好几页调试笔记,下次拿出来和大家一起分享。现在硬件平台有了,NiosII也了解的差不多了,终于可以自己编写一些规模大一点的程序了。
以后的路还很长,不过也有很多惊喜在等着我们......