“GW48-SOPC”→“Cypress Two Cy7c1041 SRAM”,加入,选择默认设置。点击“Finish”完成加入。改名称为“sram1”。
5.2.11 加入Flash。在组件选择栏中选择“GW48-SOPC”→“Avalon General Flash”,加入Flash ROM,在“Attributes”栏选择地址线和数据线宽;在“Timing”栏,设置nios对Flash的读写时序;此后选择默认设置。点击“Finish”完成加入。更改组件名称为“general_flash1”。图5-16就是本系统的Nios基本元件安装设置完成的界面。
5.2.12 Flash ROM 锁定地址。Flash锁定地址就是首先确定Flash中放程序的首地址。这里设定0x00000000。编辑图5-16的窗,使“general_flash1”元件的BASE地址为0x00000000。然后右键点击“general_flash1”元件,选择“Lock Base Address”,锁定设置好的“general_flash1”的基地址(图5-17)。
5.2.13调整所有存储器的地址。 如图5-18所示,选择菜单“System”,在下拉栏中选择“Auto-Assign Base Addresses”的自动基地址分配项。完成后如图5-19所示。
5.2 .14调整所有存储器的地址。点击“Next”后,进入图5-20界面,选择设置各种程序放置的位置,选择启动程序“Reset Location”放在boot rom中,中断矢量表“Vector Table”、程序、数据,都放在sram1中。最后完成的设置如图5-21所示。然后在“System Boot ID”内加入系统启动ID码。点击“Next”后,进入图5-22界面,选择产生SDK开发程序、VHDL系统表述和仿真文件。点击“Generate”按纽后,启动系统生成,让SOPC Builder帮助Nios开发者生成SOPC系统。在这个过程中会生成一个“cpu_sdk”的目录,建立了SOPC的软件开发环境,也同时生成了用于QuartusII编译的HDL文件。如果没有错误,将出现图5-23所示的界面。
图5-17 锁定Flash ROM的起始地址 图5-18 选择对所有存储器自动分配地址
图5-19 地址分配完成
31
5.3 SOPC整体系统生成
图5-20 选择设置各种程序放置的位置 图5-21 选择结束并加入系统启动ID
图5-22 选择生成文件并启动生成Nios系统 图5-23 Nios系统生成成功
5.4 Nios硬件系统生成
图5-24 建立原理图文件 图5-25 调入已生成的Nios系统模块
点击“Exit”,退出Nios编辑界面。在主控制窗口,选择“File”?“New”,在出现的如图5-24的窗中选择“Block Diagram/Schematic File”,建立原理图编辑窗(图5-25)。在此窗中右键选择“Insert”?“Symbol”,调出刚才设计好的Nios系统。在如图5-26左侧的“Project”下选择“nios32”,点击“OK”,即可调入Nios系统模块(图5-27)。之后,将此原理图文件另存为工程名“nios_dvp”,然后设定该文件为项目当前文件,方法是选择“Project”菜单项下的“Focus to Current Entity”即可。下面的工作是加上引脚,所定引脚,进行全程编译/综合/适配。但考虑到要所定的引脚有100多,十分烦琐。可以用下面的方法来解决:
关闭刚才设计工程,打开目录为“nios_practice_model”中的工程“m0a”。这是一个带有所有必须引脚锁定信息的空壳工程。在此工程中从新如本文介绍的那样从头开始设计Nios系统(图5-28)。直至完成所有设计,到出现图5-26的模
32
块。双击左侧的工程文件名“M0A”,将弹出带有引脚的原理图(图5-29,30),然后在带有引脚的空壳原理图编辑窗内调入已生成的Nios系统模块,拼接好好模块,完成所有设计,准备编译。
图5-26 从库中选择已生成的Nios系统模块 图5-27 调入了已生成的Nios系统模块
图5-28 调入已生成的Nios系统模块 图5-29 在带有引脚的空壳原理图编辑窗内调入已生成的Nios系统模块
图5-30 拼接好模块,完成所有设计,准备编译 图5-31 向FPGA下载
图5-32 打开调试窗Nios SDK shell 图5-33 打开调试窗Nios SDK shell
33
5.4.1设置编译SOPC系统 然后设定该文件为项目当前文件,用QuartusII进行编译。基于Nios的SOPC系统硬件开发就完成了。最后将设计好的SOF文件通过JTAG口下载到实验系统上的FPGA中(图5-31),准备软件调试。
5.4.2 下载完成后,将GW48-SOPC系统设定为模式5,打开调试窗Nios SDK shell(图5-32)。方法是点击Windows左下角的“开始”,选择“Altera”?“Nios3.02”?“Nios SDK Shell”,打开如图5-33的调试窗,键入命令:
nr -t -r 再按计算机回车键。即向实验系统上FPGA内的Nios系统发出命令,要求将RS232口强制设置为显示终端口。然后按实验系统的键8(这是Nios的复位键),使之从低点平到高点平
图5-34 在此输入命令: nb -d hello_world.c
(高电平时进入正常工作),这时在图5-33所示的窗口将出现信息:nios系统的版本码和设计系统的用户ID码。这表示FPGA中的Nios工作正常。此窗就留作程序调试用的终端显示窗。然后再打开另一个Nios SDK shell窗,在此窗中将路径设置在本设计工程目录的src子目录上(图5-34): d/nios_practice_model/cpu_sdk/src
然后输入命令。并按回车键: nb -d hello_world.c
即对此目录中一个已有的C程序 hello_world.c 进行编译,并产生调试信息。然后再输入命令,并按回车键: nd hello_world.srec
即向Nios系统下载,并执行,此时将弹出单步调试界面(图5-35)。当按动左上角第2个键,即可以看到单步执行C程序,同时从第一个SDK shell窗中看到执行的结果。
图5-35 进入单步调试窗(更详细的实验方法见最后的SOPC实验补充资料)
第六章 模拟EDA实验及其设计软件使用向导
本章介绍ispPAC在系统可编程模拟器件的设计工具使用方法,相关系列的器件特性,以及ispPAC系列器件适配板在GW48系统上的使用方法。有关ispPAC系列器件的详细内容及其开发软件PAC_Designer的详细使用方法可参考光盘目录“ISPPAC”中给出的数据手册和相关资料。
第1节 PAC _Designer使用向导
PAC _Designer 是ispPAC10、ispPAC80、ispPAC30、ispPAC20等器件的编程设计、仿真和下载的软件,它界面友好,使用方便。支持原理图输入,可以自己绘制原理图,也可以运行内部宏得到滤波器。设计好的电路可以通过仿真来观测其幅频和相频特性,若下载线上联有相应器件,便可直接下载。 1、安装PAC _Designer: 假设F盘为光驱,要将PAC_Designer 安装在D盘的PAC-Designer目录下。安装步骤如下:将PAC_Designer的光盘放入光驱。在F盘的ISPPAC目录下运行SETUP.EXE,此时会出现安装向导,在弹出的
34
对话框上按“Next”或“Yes”按钮直到出来跳出用户信息对话框,在“Name”编辑框输入用户名字,在“Company”编辑框输入用户所在单位,鼠标左键单击“Next”按钮,然后在弹出的安装目标路径对话框中点击“Browse…”按钮,会弹出选择文件夹对话框。在“Path”编辑框中输入路径或先在“Drives”框中选择驱动器号,再在“Directories”框中选择文件夹,然后点击OK按钮。如果安装的目录原先不存在,会弹出对话筐提示该文件夹不存在,是否新建该文件夹,点击“是(Y)”按钮。以后一直点击“Next”直到弹出完成安装对话框,选择现在不重起计算机,点击“Finish”按钮。将光盘“crack”目录下的license.dat文件复制到D盘的PAC-Designer目录(安装的目录)下。最后重新起动计算机,就可以应用PAC_Designer了。PAC_Designer的安装也就到此结束。
注意,安装好软件后,最好用“EDIT”编辑器或WINDOWS资源管理器检查C盘根目录上的自动执行文件AUTOEXEC.BAT中,PAC-Designer
安装文件设置的授权文件license.dat的路径,然后COPY光盘中PACCRACK目录内提供的解码文件,将原授权文件license.dat覆盖掉。
2、ispPAC80 5阶精密低通滤波器设计 以下将通过一个简单的例子引导读者学会用PAC_Designer对ispPAC80完成5阶精密低通滤波器的设计。 点击Windows的“开始”,点击“程序”,点击“Lattice Semiconductor”,再点击“PAC_Designe”,就进入PAC_Designe的开发设计环境,点击“File”菜单中的“New…”选项,此时会弹出如图6-1所示的对话框,选择ispPAC80,点击“OK”按钮。将出现如图6-2的ispPAC80设计原理图。
图6-1 选择设计对象 图6-2 ispPAC80设计原理图
图6-3 滤波器设计参数选择 图6-4 滤波器类型和参数确定
选择图6-2中的某一模块,如“CtgA unknown”模块,这是鼠标尖上会显示小方括号[ ],双击鼠标左键,将出现如图6-3的滤波器设计参数选择表,这时用鼠标双击左侧某一选定的编号,如“2242”,并双击,将弹出图6-3的小窗口:Copy Filter Configuration。这时就选择了将ispPAC80配置成为一个Chebyshev型5阶滤波器,其3分贝截止频率为167.8KHz、增益为-44.96dB,带宽为158.53KHz.等。点击“OK”按钮,并关闭表格窗后将出现图6-4:
图6-5 滤波器仿真波形 图6-6 工具窗
首先选择主窗口的“Options”的Simulator项,确定仿真参数,然后选择主窗口的“Tools”的Run Simulator项,启动仿真器,得到如图6-5的幅频特性和相频特曲线。图中,上半部分是幅频特性图,下半部分是相频特性图。点击工具栏上的小十字叉,再将鼠标移到仿真图的相应位置点击,在状态栏将显示点击处的频率、增益和相位。
选择主窗口的“Edit”的Security项,可以确定是否对下载进ispPAC80的参数进行加密。最后选择“Tools”项:选择Read IDCODE为读ispPAC80的特征码;选择Download将文件下载进ispPAC80芯片中,完成全部设计。
实验详细操作方法可参见POWER POINT软件中的图片指导。
35