第九篇 - 不求甚解之NiosII
AlteraNios嵌入式处理器大赛知识讲座我想用一种比较有效的方式来描述关于系统设计的一些事情。设计是没有一个固定规则的过程,否则也就没有乐趣可言了。虽然有很多标准,有很多限制,但是依然有非常多的变化空间。其实最重要的事情,是知道什么是重要的,什么是次要的。精力应该集中在重要的东西上面,而不是一些细节。做系统设计需要有一种大的气魄,一些不拘小节的气质,当然,还需要别出心裁的创意。FPGA本身提供了一个非常灵活的平台,如何最大化的利用这个平台,是我们脱离呆板的嵌入式系统的一个重要关键,也是如何玩转系统的关键。不求甚解之NiosII所有的系统都是由模块组成的,或大或小的模块,拼接成一个大积木。所以我们首先需要了解这些模块(IP)。关于怎么去了解一个IP,其实是很重要的问题。NiosIICPU作为一个比较大型的模块,可以作为一个例子来讲。一个关键词是不求甚解。不求甚解的目的,并不是偷懒,而是更准确,更有针对性,更快捷。IP的作用就是为了完成一个特定的功能,所以我们并不需要知道它是如何实现的,事实上,由于很多的IP都是加密的代码,所以也不可能知道具体的电路状态。同时也不需要花很多的时间把文档里面的每一行都了解清楚。作为工程师,大家的脾气一般都是一种超强的好奇心和钻研精神的集合。而往往会钻进牛角尖里面。而作为系统设计,是需要有一种粗旷型的大气魄,不需要在细节上浪费时间。你会发现很多的细节是没有意义的。并不是说我们不需要去研究细节,细节是很重要的,但是细节需要在被用到的时候才去关注就好了。作为一个IP,最重要的,其实是接口。因为你最重要的是需要知道是怎么让它工作起来,而不是它怎么工作的。所以在看文档的时候,最主要看的就是接口信号,对所有的信号的作用有一个了解。NiosII使用的是AvalonMM点对点接口,这其实是一个非常有趣的接口,因为它的交流更加