本帖最后由 mars4zhu 于 2014-6-30 14:11 编辑
大概从高中开始,看的一些科普内容、科幻小说(特别是科幻小说里的一些结合真实科学理论,讲述人文、情感方面的软科幻小说,比如《三体》、《灭世》),了解了一些简单的名词、术语,那会儿对芯片特别崇拜,觉得设计一个CPU或者MCU,哪怕一个简单的逻辑芯片,都觉得非常的高大上,**科技。听到摩尔定律、熵、量子超级计算机,血液沸腾到血管颤抖。
大学里,报了一些单片机课程。记得高校的微机电路原理,老师讲了N多X86的DOS汇编,写了N多MASM的汇编代码,讲了一节课的MPS430的理论知识。结果考试有一道题目是:MSP430的复位后执行指令的地址是多少?。。。。。。。闭卷考试哦!!!!!!当场崩溃,从来没意识到这些东西还是需要背诵、**的。当场给出自己凭空猜的一个答案0x0000(很显然,是错误的。 当时也是不懂的迂回,如果我写个答案是“ResetHandler,具体数值见#include <msp430.h>”,或许老师还能会心一笑给个勾 )。从此对学校里的课程不再感兴趣。于是,挂科是不可避免的。不过好在还是按时毕业了。
毕业后,自己寻找东西学。一次电子技术论坛活动送PsoC板卡(也是第一次参加网站活动获得开发板),看了一下PsoC的介绍,里面居然说可以搭建自己的芯片,这不就是自己从小的梦想吗?做一个自己的芯片!!!!!!!。虽然对PsoC啥都不懂,就废寝忘食地,下载了文档来阅读。记得是纯英文的datasheet、manual,这可是第一次全英文阅读,看了N天,头都大了一圈,不光语言上的困难,还有很多专用术语,比如Programmable、Synthesis、CPLD、modular、IP core,没有听过的名词,就不停的百度、Google。后面也就慢慢对这些概念清晰了起来。虽然完全没有接触过这个板子,依然不自量力的申请,尽量丰富自己的申请内容,抱着最大的希望和努力,争取入围活动,得到一块板子学习。
板子到手后,跑例程、看文档。从最简单的流水灯、逻辑转换,到复杂的数**算、芯片通讯接口,玩的不亦乐乎。对很多概念也从脑袋里慢慢变成了手中的实例应用。原来MCU就是Core+RAM+Peripherial,以及他们之间的BUS互联。每个Core或者Peripheral,都可以用与或非等逻辑门搭建。而且还见识了大名鼎鼎的Opencores.org,瞬间觉得见到了一个宝库,开源的CPU啊,而且还实际流片成功,从verilog代码变成了芯片!!!!!!!以前觉得高大上不可逾越的理想,居然也可以如此变成现实。茫茫的黑暗宇宙森林,摸出了一条明亮的路子。
很快,到处找资源学习Programable的东西。当一个人下决心想要得到什么,他就能得到什么。于是,有了开发板,有了书,有了光盘。
当跑完书上的,文档上的例程。开始想要自己做点东西了。天知道,跑例程的简单的复制粘贴、修修改改,加加减减就轻松完成一个复杂绚丽的东西,要自己独立来做,居然如此多的问题、麻烦。
好吧,PsoC只能添加一个verilog文件,那就把各种module合并成一个verilog文件
好吧,PSoC编译器不支持verilog的数组定义。
这个,。。。。。。抓狂了好几天,结果文档里说芯片厂自己的编译器不支持verilog标准的数组定义。。。。。。。。我能用第三方的吗?学学Altera,对比对比,于是采用Quartus-II和PsoC Creator做封装,模块的输入输出管脚、形式都没区别。
可是。。。。。。。实在没法编译, 512个8bit位的数组,要一个一个写?我。。。。。。。。。不知道该怎么办。最后,我自己想做的应用还是没有做出来。
时隔一年多,如今我已经可以轻松阅读纯英文文档,也形成了一套自己总结的,对于一个芯片要如何设计、制造的,应该如何选择合适应用的芯片,也学会将网上的8051、openMSP430、ARM内核的verilog代码编译下载到FPGA芯片里面,体会了设计芯片的快感,实现了青年时代的梦想。
总结自己的错误所在,那就是:做东西要选择合适的平台,如果PSoC不满足而硬扛着要用,那就是自己的问题,有了PsoC,而不是去做合适的东西,那就是最大的浪费。面对一个问题,不再抱怨供应商的产品不行、不再把错误推到外部,而是对每一个过程和结果,都反思自己犯的错误,这样就知道,问题和困难是需要主动出击来解决和拔除的,而不是因为别人的错误而停滞不前。或许,这就是我虽然没用PsoC做出预期的东西,却获得的更大的收获和体会。
【PsoC@4学习】 没学到太多技术内容,却学到了思想与精髓.pdf
(322.67 KB)
|