用户在创建最简单的应用工程时,一般可以通过创建模版工程,并在模版工程上进行修改来得到自己的设计,这种方法速度快,而且能够实现设置好各种编译和库参数,不用用户再自行指定,非常的方便。创建工程时有两个最常用的工程模版:hello_world和hello_world_small,如图1所示。 Hello_world模版包含了非常全面的底层支持库,而且关闭了程序编译时候的优化选项。这些底层库能够非常方便的实现各种操作,但是,也因为包含了这么多库,导致生成的程序占用存储空间很大,一般使用FPGA片上RAM做NIOS内存的时候,是装不下这么大的程序的。因此使用该模版一般需要使用SDRAM或者DDR SDRAM作为内存时方可。
图1 使用模版工程快速创建应用工程
Hello_world_small模版精简了很多底层支持库,仅包含了一些必须,而且是轻量级的库。而且打开了程序编译时候的优化选项。该使用该模版工程,编译生成的程序占用存储很小,一般使用FPGA片上RAM做NIOS内存的时候,需要使用该模版创建工程。当然该模版创建的工程也可用于使用SDRAM等外部存储器作为内存的系统。不过受限于该模版提供的各种库的性能,一般不适合做各种全功能,高性能的应用。而且使用该模版工程时,设计者需要尤其关心程序设计时的潜在被优化可能,例如使用如下程序实现延时就会达不到效果: void DelayNs(alt_u32 i) { while(i--) ; }而使用下述方式,即可实现相应功能,即使用 void DelayNs(alt_u32 n) { volatile alt_u32 i=n; while(i--) ; } |