END IF;
END PROCESS;
END ARCHITECTURE;
经过编译后生成模块文件,锁存器的模块文件如图4-6所示。
图4-6 锁存器模块文件
4.3.4 NOIS Ⅱ软核CPU的设计
NOIS Ⅱ是Altera公司在NOIS的基础上,于2004年发布的嵌入式软核处理器。所谓软核,是指用HDL文本形式提交给用户,他经过RTL级设计优化和功能验证,但其中不含任何具体的物理信息。一个NOIS Ⅱ处理器系统由NOIS ⅡCPU和一系列的外设组成。NOIS Ⅱ的典型结构如图4-7所示。
ARM是最常用的嵌入式处理器之一。在设计SOC时,通常是把ARM硬核植入FPGA中。硬核具有设计成本低,运行速度快的优点。但是把硬核直接地植入FPGA中的方案存在着以下缺点:硬核都是预先设计好的,设计者就无法依据实际的需求来更改处理器内部结构;而且无法依据实际的设计需求来在同一个FPGA芯片中集成多个处理器;无法根据实际需求来减少处理器硬件的资源,来降低FPGA的应用成本。
如果采用软核处理器,可以有效的避免上述的问题。在NOIS Ⅱ中还能添加设计者自己的指令。在开发工具的完备性方面NOIS Ⅱ也具有很大的优势。
NOIS Ⅱ嵌入式处理器模块是整个系统控制器的核心,它相当于单片机控制系统中的CPU,是所有信号采集,处理及输出的控制中心。NOIS Ⅱ嵌入式处理器模块的设计需
与软件调试器之间
的JTAT连线
图4-7 NOIS Ⅱ的典型结构框图
要借助于Altera公司提供的系统级开发工具Quartus Ⅱ中的SOPC Builder完成。
NOIS Ⅱ软核接收了来自硬件部分的数据后,还需要进行相应的数据处理,才能够满足测频系统控制器对测量频率的要求,进而才能送LCD显示。
SOPC Builder是一个软件工具,它允许设计者创建一个功能完整的定制的嵌入式处理器,称为NOIS Ⅱ系统模块。一个完整的NOIS Ⅱ系统模块包含NOIS Ⅱ嵌入式处理器和与之相关的系统外设。NOIS Ⅱ系统外设允许连接到NOIS Ⅱ嵌入式处理器上,同时也可以与FPGA的内部逻辑或NOIS Ⅱ开发板上的外部器件进行通信。SOPC Builder会提示用户设置参数,并提示使用哪些可选的端口和外设,当生成了NOIS Ⅱ系统模块后,该模块模块可以被顶出模块调用。
打开Quartus Ⅱ新建一个工程,在Tools的下拉菜单中打开SOPC Builder。在里面定制自己需要的软核CPU。FPGA中的NOIS Ⅱ软核定制主要包括NOIS Ⅱ处理器、存储器控制模块、LCD控制器模块、数据总线接口模块以及控制总线接口模块等等。SOPC能够根据设计者的不同需求来配置不同CPU和各个功能模块的参数。在本设计里,我们可以把数据总线接口配置为输入口,控制总线接口配置为输出口。CPU时钟是由外部50MHz晶振通过FPGA内部的锁相环2倍频得到的。
用SOPC Builder可以进行系统模块硬件设计和底层软件生成。进行硬件设计时,SOPC Builder提供图形化配置界面,备有一些常用的IP模块,如,LCDinter faceParallel I/O,SRAM,Flash,RAM等。用户还能加进去自己设计的系统文件。就本设计来说,就是把前面的控制接口模块和设计者自己定义的接口添加进来。系统配置除了对外设设置外还包括启动程序,中断向量表,系统启动地址等设置。具体如图4-8所示。完成自定义设计后就可以生成NOIS Ⅱ软核CPU了。 基于SOC技术的等精度频率计设计+源码+流程图(9):http://www.751com.cn/tongxin/lunwen_507.html