黑金fpga sopc eda实验讲义第一章VHDL输入设计方法_第1页
黑金fpga sopc eda实验讲义第一章VHDL输入设计方法_第2页
黑金fpga sopc eda实验讲义第一章VHDL输入设计方法_第3页
黑金fpga sopc eda实验讲义第一章VHDL输入设计方法_第4页
黑金fpga sopc eda实验讲义第一章VHDL输入设计方法_第5页
已阅读5页,还剩140页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录VHDL文本输入设计编辑输入并VHDL选择VHDL文本编译版本号

QuartusII设计正弦信号发生器VHDL文件设计 正弦信号数据ROM设计ROM初始化数据文 3.2.2定制ROM元3.2.3仿 3.2.6对配置器件EPCS4/EPCS1编程 /DSPBuilderDSP硬件模块设计 4.1.2模型仿 窗口使用嵌入式逻辑分析仪SignalTapII(自动设计流程安装SignalTapIINode模 真 第五章Nios Nios软硬件开发流程 Nios软硬件开发流 SOPC整体系统生成 Nios硬件系统生成 模拟EDA实验及其设计软件使用向导第1节 第2节设计直流增益为9的放大 第3ispPAC10/20/80Nios第1节调试软件 第2节烧写Flash VHDLLibrary窗(1-1)中键入1-1所示的VHDL程序(21多路选择器毕后,选择菜单“File→Save”,E:\MUXFILE(用鼠标双击此,使其打开FileName”框中键入文件名将决定使用的语言形式,在MAX+plusII中,后缀为.VHD表示VHDL文件;后缀为.TDF表示AHDL为了使Max+plusII能对输入的设计项目进行处理,在编译/综合MUX21A.VHD之前,需要设置此文件为顶层文件,或称工程文件:Project,或者说将此项设计设置成工程:选择菜单“File”→Project→“SetProjecttoCurrentFile”,当前的设计工程即被指定为MUX21A。也可以下的MUX21A.VHD为当前的工程。设定后可以看见MAX+plusII主窗左上方(图1-2)的工程项目路 图1- 图1-3选择目标器件 图1-4设定VHDL编译版本号中主要选Al公司的FPGA或CPLD。在设定工程文件后,应该选择用于编程的目标:选择菜ACEX1K,此窗口(图4-3)的DeviceFamily是器件序列栏,应该首先在此拦中选定目标器件对应的序列名。为了选择EP1K30TC144-3器件,应将此栏下方标有ShowonlyFastestSpeedGrades选择VHDL选菜单“MAX+plusII”→“Compiler”菜单,选择如图1-4所示→“VHDLNetlistReaderSettings”,在弹出的窗口中选“VHDL’1993”图1-5消去“UseQuartusFitter…”项 Can'topenVHDLNew窗中的WaveformEditer..项,打开波形编辑窗。、输入信号节点。在图7e项,在下拉菜单中选择输入信号节点项rsmF。在弹出的窗口(图-8)中首先点击t键,这时左窗口将列出观察的信号选到右栏中,然后点击K键即可将测试信号)、)、)和)输入仿真波形编图1-7从SNF文件中输入设计文件的信号图1-8列出并选择需要观察的选择窗中选择适当的仿真时间域,如可选50us(50微秒有足够长的观5、加上输入信号。图1-12显示了波形编辑窗各按钮图1-10设定仿真时间宽 图1-出为a的高频率信号。图1-13为输入信号设定必要的6、波形文件存盘。选择File项及其Saveas选项,按OK键即可。存盘窗(图1-15)中的波1sf7、运行仿真器。选择MAX+plusII项及其中的仿真器Simulator选项,点击(图1-16)中的Start键。图1-14是仿真运算完成后的时序波形。注意,刚进入图1-14窗时,应鼠标箭头间的时间差显示在窗口上方的Interval小窗中。由图可见输入与输出波形间有一个小的延时 图1-16 定5(参考附7,1(PIO0)控制信s;a和b分别接clock5clock0;输出信y接扬声器图1- 图1- 18"选实验电路模式“N.5”后,用短路帽设定cock5和cock0的频率分别为256z和1024z。1z1z【实验1】1位全加器VHDL文本输入设计(实验目的:了解例化语句使用方法LIBRARYIEEE;ENTITYor2aISPORT(a,b:INENDENTITYor2a;ARCHITECTUREoneOFor2aISc<=aORbLIBRARYIEEE;PORT(a,b:INSTD_LOGIC;ENDENTITYh_adder;co<=aANDb

LIBRARYENDENTITYf_adder;PORT(a,b:INSTD_LOGIC;co,so:OUTSTD_LOGIC);ENDCOMPONENTPORT(a,b:INENDCOMPONENT;SIGNALd,e,f:STD_LOGIC;u3:or2aPORTMAP(a=>d,b=>f,实验图1含计数使能、异步复位和计数值并行预置功能4位加法计数器实验图2共阴数码管及其电路实验图1是一含计数使能、异步复位和计数值并行预置功能4位加法计数器,例1是其VHDLUSEIEEE.STD_LOGIC_1164.ALL;ENTITYCNT4BISCOUT:OUTSTD_LOGIC);IFRST='1'THENCQI<=+1;ENDENDDPIO15OUTY位靠右时钟CLK接clock0,通过短路帽选择4Hz信号。引脚锁定窗后进行编译、和硬件测试实ENTITYDecL7SISPORT(A :INSTD_LOGIC_VECTOR(3DOWNTO0);LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0));CASEA(3DOWNTO0)"";"";"";"";"";"";"";"";"";"";--"";--"";--"";--"";--"";--"";--引脚锁定以及硬件测试。建议选实验电路模式6,用数码8显示译码输出(PIO46--PIO40,键8、键7、键6、键5四位控制输入,硬件验证译的工作性能。注意,在仿真中,4位输入A必须用总附加实验内VHDL例化语句(参考实验1)按实验图3的方式,以例12为底层元件,完成顶层文件设计,并重复以上实验过程。注意实验图3中的tmp是4位总线,led是7位总线。对于LIBRARYENTITYTOP_PRJISENDENTITYTOP_PRJ;COMPONENTCNT4BPORT(CLK:INSTD_LOGIC;ENA:INSTD_LOGIC;OUTY:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCOMPONENT;PORT( A:INSTD_LOGIC_VECTOR(3DOWNTO0);LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0));SIGNALAB:STD_LOGIC_VECTOR(3DOWNTO0); ENDARCHITECTUREfd1;;设计步骤2,在文本编辑器上键入VHDL程序,以便完成图2-1中由FPGA担任的等精度测频详细源程序可参考《EDA 技术实用教程》第12 章,或光设计步骤4,根据《EDA》第12章的第12-2式计算图2-2中的TCLK的频率(设BCLK的周500ns。根据DATA的值来计算设计步骤6,根据《EDA》第12章计算图4-4中的TCLK的高电平脉宽(设BCLK的周期是500ns,根据DATA值来计算。最后模仿波形图2-4,给出测TCLK低电平脉宽的仿真波形。d0MHzTC1控制。设计步骤8,在VHDL文件编译后,到GW48系统中,测试其硬件功能,以便更具体地确PA作为一个器件的硬件功能。在测试过程中,应该仔细根据图22和24的电平设置,控制各设计步骤9,如果能通过步骤8,则表明功能得FPGA已设计完成,可根据GWDVPB板的其中包括1)单片机与FPGA的数据通信程序、单片机控制FPGA进频和测脉宽的控制程序、数序编译后烧写进89C51中。设计步骤11,将单片机和1K30适配板插在GWDVP-B板上,并用10针线将GW48系统口与GWDVP-B上1K30板的10针口向连接,将设计步骤9完成的文件进1K30中,进行设计步骤12,将1K30的HEX编程文件,用SUPER-PRO编程器烧入27C020中,完成掉电保 绘出的FPGA内部RTL实验原理:图1是此电路模型图,其中“FWORD”是8位频率控制字,控制输出正弦信号的分别为32位和10位加法器;SIN_ROM是存放正弦波数据的ROM,10位数据线,10位地址线,其中单片机系存器;POUT和FOUT分别为10位输出,可以分别与两个高速D/A相接,单片机系图2-5基于DDS的数字移相信号发生器电路模型图 图2–6数字式移实验内容1:首先利用VHDL完成10位输出数据宽度的移相信号发生器的设计,其中包括设计正弦波形数据MIF文件(数据深度1024、数据类型是10进制数对于GW48系统,选择模式1:CLK接clock0,接12MHz;用键4、3控制相位字PWORD输入,键2、1控制频率字FWORD输入。观察他们的图形。实验内容2:修改设计,增加幅度控制电路(可以宽度直接用32位,相位控制字宽度直接用10位,输出仍为10位,时钟为20MHz,计算频率、相位和幅度3者分别的步进精度是多少?给出输出频率的上下限。;注意该工程的主文件、其他元件文件和ROM文件,及其初始化文件LUT10X10.mif(注意,此数据文件若用DSPBuilder直接生成最为快捷),GWAC3QuartusII打开目 计数周单片机系单片机系B比较整键盘控其中N1是高电平脉宽时间内的计数值,N2是低电平脉宽时间内的计数值。图2-8的TPAS.GDF工位的时钟信号PA和PB通过鉴相器EPD后,将输出一路具有不同占空比的脉冲波形。其频率与输入频率相同,而占空比与PB和PA信号上升沿的时间有关。显然EPD的脉宽等于PB和PA信号上升沿的时N1/(N1+N2)360 1、将GWAK30或GWAC3适配板插在GWDVPB电子设计应用板上,并对其上的掉电保护器件编2、连上接地线,被测信号进入GWDVPB板上的PIO16和PIO17,按键1测频率、键2测占PIO16/PIO17图2- 测相仪电路原理图(TPAS.gdf工程图2-

示方法参考该路径readme。注意:对于GWAC3板,用QuartusII;readmeGWAC3QuartusII QuartusII设计正弦信号发生QuartusII与和DSPBuilder结合可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现详细介绍QuartusII的使用方法。VHDL文件设本节通过正弦信号发生器的设计对QuartusII的一些重要功能作一些说明。对本节的详细了解1:ROMROMP_ROM64点,以及D/A输出的频率f的关系是:f=f0/64kFile如图3-3所示的VHDL程序。图3-1正弦信号发生器结构 图3-2选择编辑图3-4利用“NewPrejectWizard”创建工程 图3-5将在此要利用“NewPrejectWizard”创建此设计工程,即令singt.vhd为工程,并设定此工程一些钮,将此工程相关的所有VHDL文件加入进此工程(如果有的话),即得到如图3-5所示的情况。工程的加入到工程文件栏中;第2种方法是点击“…”按钮,从工程中选出相关的VHDL文件。认项“NONE”。标选标选图3-6选择此系列的具体 图3-7 SINGT的工程管理窗图3-8选定目标器件1、选择目标。目标的选择也可以这样来实现:选择“Assignmemts”菜单中的“settings”项,在弹出的框中选“CompilerSettings”项下的Device,首先选目标:EPIC6Q240C8(此8valble片决定如图3-9所示。成的FPGA配置电路系统。 编程配置文件)生成,以及基于目标器件的工程时序分析等。如果工程中的文件有错误,在下方的Processing处理栏中会显示出来。对于Processing栏显示出的语句格式错误,可双击此条文,即弹出vhdlundefinedentityDATAROM正弦信号数据ROM定以64点正弦波形数据为例分别说明:File8位。点击“OK”,将3-12的空的mif数据表格,表格中的数据为10进制表达方式,任一数据(如第三行的99)对应的地址为左列于顶行数之和。将波形数据填入此表中,完成后在File菜单中 图3-11进入mif文件编辑窗 图3-12将波形数据填入mif文件表中图3-13ASM格式建hex文件 3-15 3、另两种方法要快捷的多,可分别用C程序生成同样格式的初始化文件(参考《EDA技术实用教程第12章和使用后面将介绍的DSPBuilder/的工具来生成。ROM元件利用MegaWizardPlug-InManager定制正弦信号数据ROM步骤如2、选择ROM控制线和地址、数据线。在图3-16,17所示的框中选择地址与数据的位宽分别1819:init_file"./asm/SIND1.hex"3-20所示。mif文件不同,hex文件必须放在当前工程的子中(这里的子是asm),而DATAROM.vhd与顶层工程文件SINGT.VHD在同一文件夹中!且后缀hex必须小写!进程信息出现警告语句:“Warning:Can’tfindMemoryInitialization…”,说明DATAROM中未能调入512个位单元,恰好等于64个8位波形数据的大小。1、打开波形编辑器。选择菜单File中的New项,在New窗中选“OtherFiles”中的“VectorWaveformFile(11点击OK,结束设置。适当位置(图3-21。2即50%占空比,再对文件存盘。 23Simulationcoveragereporting;毛刺检测Glitchdetection为1ns宽度。24系统的DAC0832,其输入引脚为PIO24、25、..31闭25179 Compilation闭好,上电,然后在菜单Tool中,选择Programmer,于是弹出如图3-27所示的编程窗。在Mode栏中有击“Close”钮,关闭框即可。图3-25进入引脚锁定编辑器 对GW48PK2系统左侧的“JP5”跳线选择“Others,当进入菜单Tool,打开Programmer窗后,将

图3-271、选择菜单File中的New项,在New窗中选“OtherFiles”中的“SignalTapIIFile(图3-28左图,点击OK,即出3-28所示的SignalTapII编辑窗。击OK后即可将这些信号调入SignalTapII信号观察窗(图3-30。30DSignalTapIILogic 图3- SignalTapII编辑 择触发信号,在此选择singt工程的内部计数器最输出信号Q1[5]作为触发信号;在“Pattern”栏选yzer,打开SignalTapII(图3-31750KHz 图3-31打开SignalTapII窗口 备启动SignalTapII图3- SignalTapII数据窗的实时信3对配置器件EPCS4/EPCS1EPCS4和EPCS1是Cyclone系列器件的配置器件,Flash结构,编程周期10万次。编程模2、选择接插模式。GW48主系统上的JP5跳线接“ByBtII”,即选择ByteBlasterII编程方式(JP6VSOPC/DSPS4端。最后将10芯线连接主系统的“ByteBlasterII”接插口和适配板上的10芯AS模式编程口。3、AS模式编程。点击如图3-34所示窗口的键,编程成功后FPGA将自动被EPCS器件配置而进入正常工作状态。最后将为AS模式编程改变的短路帽跳线全部还原。图3- ByteBlasterII接口AS模式编程窗选择菜单Tools→RTLViewer即弹出图3-35所示的工程singt的RTL电路图,由图可以了解该工程的电路结构。其中,六个D触发器构成6位锁存器,他们与加法器构成6位计数器,即波形数据ROM图3- 工程singt的RTL电路 /DSPBuilderDSP硬件模块设正弦波值输出,输出的8位正弦波数据经延时模块Delay后送往Product乘法模块,与SinCtrl相乘。由D/A即可获得正弦波信号。indowrkspaHitory先建立一个新的文件夹,作为work。6, 再次点击其中的AltLab项,展开AltLab,选中库管理器右侧的 pilder到新模型窗口中(图4-。Decrement模块(图4-8)是DSPBuilder库中Arithmetic模块。选中库中的Arithmetic条,则在库管理器的右侧,可以看到IncrementDecrement模块。按照放置pilder的方法,把IncrementDecrement使用说明;框的下半部分是参数设置部分,对于IncrementDecrement模块设置局时钟相连的。ClockPhaseSelection可设置为1(二进制其他设置采用IncrementDecrement模块的默图4- DSPBuilder设计流 n10,(正弦)函数,在这里sin函数的调用格sin([起始值:步进值:结束值。SinLUT是一个输入地址为6位、输出值位宽为8的正弦查找表模块,且输入地址总线为有符号数,可以设置起始值为0、结束值为2π、步进值为2冗。计算式可写成127*sin[0:2*pi/2^6]:2*pi选择打勾,表示允许QuartusII利用目标器件中的嵌入RAM(在EAB、ESB或M4K模块中)来构成只能用中的LCs来构成。SinLUT参数如图4-11所示。ClockPhaseSelection参数主要是控制采样的,设置为1时表示每一主频脉冲后,数据都能通过。按 图4-5库管理 图4-7放8、放置端口SinCtrl。在库管理器的AlDSPBuilder库中,选中BusManipulation库,找AltBus模块,放置在新建模型窗口中。修改AltBus模块的名字为SinCtrl。SinCtrl是一个1位输入端数为“InputPort4-13所示。14用于对FPGA中的模块的选择。5,按钮,修改“numberofbits”参数为8(图4-15。 图4-9.这样就完成了一个正弦波发生器的DSPBuilder模型设计。在进行和piler编译之前,文字母打头,不使用空格,不用中文,文件名不要过长。在对模型取名后,就可以使用piler 图4-10LUT块图4-11设置 图4-12Delay模块 用DSPBuilder模块设计好一个新的模型后,可以直接在中进行算法级、系统级。1、加入仿真步进模块。首先加入一个Step模块,以模拟SinCtrl的按键使能操作。在库管理器中,展开库,选中Sources库,把Sources库中的Step模块拖放到sinout模型窗口中(如图模块,piler都不能将其变成硬件电路,即不会影响生成的VHDL程序,但在启动仿2添加波形观察模块。在的库管理器中,展开库,选中其中的Sinks库,把1819号接Scope的另一端(4-21),以作信号比较。需要注意的是,此路信号在生成的VHDL文件中不图4-15设置SinOut 图4-16Step模块图4-17Scope模型图4-18Scope初始显示图4-19设置Scope参数图4-20设置 图4-21sinout全 仿真Start29timeetime注意:为了能更好的在波形观察窗中区分不同信号,可以在sinout模型中对连接线进行命名:双击对应31等待仿真结束,双击Scope模块,打开scope观察窗。图4-24显示了仿真结果,SinOut信号是sinout模Sintrl受到了Snrl的控制。当Snrl为1时,Snut波形是正弦波;当Snrl为0时,输出为0。在Scope波(127*sin[0:2*pi/2^6]:2*pi)+进后的电路,其功能即在原输出的有符号数据上加上了127。原理是将乘法器输出的8位有符号数的最取反并以无符号数输出。图4-25是图4-26的电路产生的仿真波形,可以看出整个波形在0程中最为关键的一步,在这一步,可以获得针对特定FPGA的VHDL代码。1、双击sinout模型中的piler模块,将出现如图4-33所示的框,点击“yze(分析)按钮后,piler就会对sinout模型进行分析,检查模型有无错误,并在主窗口弹出 piler。在图4-34中显示了 “Messages”。piler的设置都集中在项目设置选项部分。在“Device”下拉选择框中选择需要的器件系列,默认为Stratix系列器件,对此可以修改。在此选为Cyclone系列。注意,在“Device”中 图4-33双击 图4-34打开 piler窗口图4-36出现MDLtoVHDL信息S35和sof文件(图4-36。编程文件可以直接用于FPGA的编程配置。点击图4-36的“ReportFile”按纽,QuartusII实现时序仿进行门级的时序仿真仍然是十分重要的,piler已将上的仿真信息转变成了可用1、打开QuartusII环境,选择菜单“File”→“OpenProject…”,定位到sinout模型所在路 打开DSPBuilder建立的QuartusII工程文件:sinout.quartus(图4-472、上文中提到,在pilerQuartusII编译,具体的QuartusII自动决定,可实际然后启动全程编译,即执行StartCompilation。看不到输出的波形数据,应该回到设计文件检查,仿真、变换(注意这时只按piler中的第一按钮P4或以上。QuartusII硬件测试与硬件实在此按照第3章中介绍的方法锁定管脚(Pin。首先打开sinout工程文件sinout.vhd,了解端口情况,oSinOus 图后只宜作系统仿真和VHDL文件转换,不宜作综合,即最多只能对图4-34所示的界面执行第1个按为了保存引脚信息,综合与适配两项操作必须在进入QuartusII后进行图4-46sinout工程的QuartusII仿真波形(门级时序仿真窗口使用嵌入式逻辑分析仪SignalTapII(自动设计流程在设计层次也能实时观察到硬件内部产生用于模拟输出的波形数据,可以使用Node模块来SignalTapIINode模在GW48系统上都能找到图中的键、发光管、数码管和D/A的对应位置。“BusConversion1”是总线变换器,来自Al 494-47SignalTapII使用示例(本示例路径:.\SOPC_FILE\环境中显示出来。调入和设置步骤如下:““ysis”模块2、如图4-47那样连接好电路后,开始设置Node的参数。双击模块Node2,由于此模块只测试1路二进制信号,所以在弹出的窗口的选项MSB和LSB分别输入0,最和最低位都是第0位。同样方法选择Node1的MSB为7,LSB分0,表示此路测试8位总线信号。 图4-48将路径设定于 图4-49进入GW48-SOPCDevelopmentBoard”项目库、双击piler模块,进入图4-53所示的窗口。选择器件“Device”为DSPBoard;综合器二进制信号的采样深度都为1024个位。上的键1控制波形输出,计划用键2控制SignalTapII的触发。3、结束后关闭图4-54ss,4-55的SignalTapII分析窗。 图4-50仿真参数设置 图4-51Step2参数设置 图4-52系统 如果要选择Node2作触发信号,点击图4-55左侧的Node2,再点击右侧“TriggerCondition”栏ysis”按纽,启动SignalTapII图4-55在SignalTapII分析窗选择触发信号和触发方式 图4-57SignalTapII的采样波 图4-58SignalTapII的展开形SignalTapII进行采样。这时,如果一切正常,将弹出如图4-56所示的“SignalTapIIysiscompleted”,点击“确定”后将弹出两个波形文件图,图4-57,图4-58。图4-57的上排波形是测试模块Node1采的 DDS与数字相移信号发生器设计图4-59是在DDS基本结构的基础上设计的数字相移信号发生器(2003年电子设计竞赛赛题之一,基本结构与图2-5系统,其中输PWORD和FWORD分别是数控8位相位字和频率字输入端;由图可见,最宽输入字分别为10位和32位,由较高的控制精度。输出口TRAGOUT和DDSOUT分别接10位高速D/A,前后用QuartusIIDDS的频率字输入,仿真和硬件测图4-59 Nios嵌入式系统开发向在此将引导读者完成一个Nios处理器的硬件开发工作和软件调试,并介绍Al的Nios软核硬件 sUCrI这里可以灵活定制osPU的各个特性甚至指令,可以使用l 提供的大量的IPre来加快开发者开发os外设的速度,提高外设的性能,也可以使用第的P,或者使用L、g来自己定制外设。完成s的硬件开发后SCr可以帮助开发者生成相应的(软件开发包。这或C语言,甚至C++,来进行嵌入式程序设计。当软硬件开发都完成了,接下就需要在Nios开发板上Nios软硬件开发流在这一节,将以NiosSOPC系统的开发过程来详细讲述Nios硬件开发的具体新建SOPC设计项首先,需要在QuartusII中建立一个设计项目(Project。请参考第3章,使用“NewProject时,才能进行,否则SOPC的设计工具SOPCBuilder是不能开启的。 SOPC”“CreatNewSystem(建立新系统)框(见图5-2,在框中输入需要建立的SOPC系统的名称,”选择SOPCBuilder生成的HDL代码的类型。在此设定SOPC系统名称为:nios32;语言类型为VHDL。按“OK”按钮后SOPCBuilder的设计界面(图5-。图5-3SOPCBuilder设计界面 图5-4一个基本的SOPC系统结构基本SOPC系统介序的内部器,BootROM、一个UART串行通信电路模块(RS232核、一个内部定时器、一个Avolon总线控制器和一些PIO接口模块。为使Nios系统正常工作,在FPGA必须接有一个RS232通信口、一些控制键、几个发光管和数码管以及SRAM和FlashROM。加入NiosCPUCPU图5-5加入32位Nios 图5-6更改组件名图5-7加入Boot 5-8BootROM图5-9加入 图5-10加入Button图5-11ButtonPIO的输入onlybitsr UART是“通用异步收发器”的英文缩写,就是常用的串口,基本的系统可以通过串口与上位机通信,也用于Nios系统的仿真调试。在组件选→“UART(RS232seriesport”加入。选择波特率为115200,其余按照默认配置,点击“Finish”按钮Timer1(加入ButtonPIO在这,一般需要加入用于按键的PIO,PIO就是通用I/O口。在组件选择进行输入选项设置(图5-10)。(IRQ,图5-12加入两个数码管seven_seg_pio bus三态总线控制器加入数码管PIO。加入两个7段码数码管PIO在组件选择栏中选择“Others”→“PIO”加入选择为16位(图5-12,以对应2个7段码,并改成“Output”输出模式。点击“Finish”完成加入。更 。编辑图5-16的窗,使“general_flash1”元件的BASE地址为0x 将出现图5-23所示的界面。图5-17锁定FlashROM的起始地址 SOPC整体系统生

图5-20选择设置各种程序放置的位置 5-23NiosNios硬件系统生 的Nios系统25引脚锁定信息的空壳工程。在此工程中从新如本文介绍的那样从头开始设计Nios系统(图5-28。直至2930图5-26从库中选择已生成的Nios系统模块 的Nios系统模块图5-28调入已生成的Nios系统模块 辑窗内调入已生成的Nios系统模块 图5-31FPGA图5-32打开调试窗NiosSDKs 图5-33打开调窗NiosSDKs设置编译SOPC系 的SOPC系统硬件开发就完成了。最后将设计好的SOF文件通过JTAG口到实验系统上的FPGA31nr-t-r再按计算机回车键。即向实验系统上FPGA内的Nios系统发出命令,要求将RS232口强制设置为显示终端口。然后按实验系统的键8(这是Nios的复位键从低点平到高点平 户ID码。这表示FPGA中的Nios工作正常。此窗就留作程序调试用的终端显示窗。然后再打开另一个NiosSDK 窗,在此窗中将路径设置在本设计工 的src 上(图5-34

即向Nios系统,并执行,此时将弹出单步调试界面(图5-35。当按动左上角第2个键即可以看到单步执行C程序,同时从第一个SDKs窗中看到执行的结果

第六章EDA实验及其设计软件使用向PAC_Designer的详细使用方法可参考光盘 下。安装步骤如下:将PAC_Designer的光盘放入光驱。在F盘的 下运行SETUP.EXE, (Y” 下的license.dat文件到D盘的PAC-Designer 注意,安装好软件后,最好用“EDIT”编辑器或WINDOWS资源管理器检查C盘根上的自动执行文件AUTOEXEC.BAT中,PAC-Designer安装文件设置的文件license.dat的路径,然后COPY光盘中PACCRACK内提供的文件,将原文件license.dat覆盖掉。以下将通过一个简单的例子引导读者学会用PAC_Designer对ispPAC80完成5阶精密低通滤波器的图6-1选择设计对 图6-2ispPAC80设计原理 定击“OK6-4: 图6-首先选择主窗口的“Options”的Simulator项,确定仿真参数,然后选择主窗口的“Tools”的Run选择主窗口的“Edit”的Security项,可以确定是否对进ispPAC80的参数进行加密。最后选择“Tools”项:选择ReadIDCODE为读ispPAC80的特征码;选择Download将文件进ispPAC80芯实验详细操作方法可参见POWERPOINT软件中的指导由式VOUT=k1VIN1+k2VIN2可知只需将k1设为9,信号 框,选9”,点击“OK”按钮。到此,直流增益为9的放大器就设计完成了,其结果见图6-7。接下来是进行仿真。用鼠标左键单击Options菜单下的Simulator项,选择信号端口和仿真信号参数Curve14 6图6-数标尺的功能:选中菜单View->CrossHair,将鼠标移至曲线上某一点,单击鼠标左键,即可看见便于PAC-Designer重要功能器Q值、DC增益以及PAC模块的选择。点击“GenerateSchematic”,即可产生满足这些参数设置的双在PAC-Designer中有一示例库,库中的各项设计电路可作为用户设计时的参考,很有实用价值。打出方式和电路参数。当按键“OpenFile”时,即打开了该项设计的电路原理图(该电路可通过Download选项进相应的中。第3 ispPAC10/20简本单元电路称为PAC块大器(IA1、IA2)和一个输出 图6- 基路,如图6-11所示。电路的输入阻抗为10亿欧姆,共模抑制比为69dB,增益可以为-10~10的20种选6-10所示,具体说明见表1。出的DAC。接口方式可为:8位的并行方式;串行JTAG寻址方式;串行SPI寻址方式。在串行方式中,数据总长度为8位,D0处于数据流的首位,D7为最末位。DAC的输出是完全差分形式,可以与表 ispPAC10引脚介号12345串行接口逻辑输入脚,输入数据TCK为上升沿67正电源脚,接5伏直流电压8串行接口逻辑输出脚,输出数据TCK为下降沿9参考电压输出,与地之间要接0.1uF的旁路 GW48-SOPC/DSP和其他适配板使用说INSD与GW48-PK2主系统左侧的ByteBlasterMV(ByteBlasterII)口相连。“AS(AS…(GWPSM3)口和图7-1主适配板的“ASPORT”口,OK!RS2321口与Cyclone的引脚连接方式是:RXD接P170脚;TXD接176RS2322口与Cyclone的引脚连接方式是:RXD接P196脚;TXD接1975、图7-1主适配板右下角的J5是256色VGA输出口。连线情况:R(R2接PIO34R1接PIO33、PIO32;GPIO29;BPIO27;VS接PIO35、HS接PIO36。6、左上角和右上角分别显示了适配板并行口与Cyclone和APEX器件引脚连即可自动配置(GWPSM板上的小键。J3B座上!特别需要是,GW_ADDA板是一块通用AD,DA板,它在GW48-SOPC上的GWAC6板(含EP1C6板KEP1C3种适配板(注意,只有前两种板能使用GWADDA上的所有AD,DA,后4种适配板只能使用GW-ADDA板上的两个5651(D/A)和一个5510(A/D。GW_ADDA板上的A/DD/A与不同FPGA适配板上目标器件连接7-27-1、表7-27-3GW_ADDA板含两片10位120M的高速D/A,一片10位20M的A/D和一片8位20M的A/D,另加4片3dB带宽大于260MHz的高速运放组成阻抗变换电路。主要用于基于SOPC的DSP设计、电子设计竞赛JADclock(12MHz详见表7-。位DA5651输出口以GWAK30板与GW-ADDA板配对使用为例,即若将图7-1右下的GW-ADDA板插于GWAK30适配板上122、131、…、62、63,时钟输入接126脚。 注意,使用A/D,D/A板必须打开GW48-PK2模式。打开电源,GWPSM板即可自动配置。13、图7-3是另外两块AD,DA板连线原理图,只适合插在GWAK30和GWAC3板上,用法同上:数据输数据输数据输3针短路GWADX_S1A/D和D/A引脚模拟信号输速速模拟信号输图7-1A、GWADX_S1适配板原理图(只能配ooooP87ooooooooP87oooooooP88ooooo晶晶oooooooooooooo FOR

FORGWADX_S1用于DSP开口 口 CYCLONE1212以这个方向插在J5A,J5B座默认 默认默认全部插 GW2RAM用于Nios开2GW_ADDA电位器BA1电位器FlashRS232RS232 16位16位16位8 10 根8 10 对于GWAC3板(使用GW-ADDA板用QuartusII打 板A/DD/ACLOCK板A/DD/ACLOCK 模拟信号输速3速模拟信号输模拟信号输速速模拟信号输图7-2、GW-ADDA适配板原理图(可配各种适配板,如GWSOPC、GWAK30、GWAC3、模拟信号输速速模拟信号输数据数据输GWDA2C双数据数据输GWDA2C双D/A引脚模拟信号输速3速模拟信号输数据数据输GWAD2CD/AA/D引脚模拟信号数据数据输GWAD2CD/AA/D引脚模拟信号输速3速模拟信号输表7- GW_ADDA板D/A5651(A)引脚查阅适配板名表7- GW_ADDA板D/A5651(B)引脚查阅适配板名GW48-表7- GW_ADDA板8位AD5510和10位AD876引脚查阅表(右两列是对AD876的引脚名 第八单片GW48-PK2实验系统接口说(PIO66-00011011(PIO66-00011011数码管00一、GWDVP-B板(基本结9-1所示)单片机系统:通过改变FPGA中的逻辑结构,使之与RAM构成单片机总线工作系统和独立工P3建议连接P3

液晶显示插液晶显示插

DODO12MHz

复用P3P1显显示可配独独立显示 电插8P2.7---P2.0<--->PIO8---单片8P0.7---P0.0<--->PIO7---工作电8RS232串通信适配电ROM/RAM座:GWDVPB板上的FPGA和RAM/ROM可构成不同的工作方式,如:单片机FPGA的连接方式见图9-2通用FPGA接插系统:这是GWDVP板最具特点的结构,它由双排座构成(如附图1所示FPGA/CPLD的目标板,如、S、10K10、10K20、EP1K30、1K、、EP1C3等。FPGA载口,用10芯线进行在系统,而不必拔下GWDVP上的目标。GWDVPB上的钟信号源由50MHz有源时钟源提供,它们确保了FPGA/CPLD优秀的高速性能的串行EEPROM(7)键控系统:8个键,可按逐次查询方式编程控制(连接方式如图9-1,盘子程序等诸多子程序可参见单片机文件GWDVPB.ASM、GWDVPA.ASM。给8芯插座上插16键的使用。5V电压源外部提供。(11)板的下放有一3针跳线,往左短路,使用ROM/RAM,反之允许使用。二、GWDVP-B板使用注意:、兼容性:开发中,GWDVPB板须与GW48系统或GW6C++2、GWDVPB板与GW48系统上的目标板相互间完全兼容,因此可以使用GW48系统所有可配的目FPGA/CPLD型号和生产厂家的限制!(GWDVPB.ASM,GWDV.ASM键盘控制、BCD码到2进制码转换、

A0A01011A1912A2813A3715A4616A5517A6418A7319A8A9A112320A122221板

AT89C51 RR0。KKEY口的某一端口序号一样,如ACC=3,即表示,P1.3上有按键信号。 “ADDMB50KHz4EH,4FH)单元中,都放在左面9快速乘法子程序:程序名“MULT3”。10N字节压缩BCD码至M字节2进制码转换子程序:11、带符号原码加法子程序:程序名“ADDS1 SEPRD93C46要根据板上的信号标注进行连线。位地址数XXH、待写入的高8位字节和低8位字节分别放在22H、21H20H单元中,然后调用写子程序“LCALLSEPWR”,最后调用写子程序“LCALLDISLE”15、如图9-1所示,时钟50MHz接CLOCK2、时钟12MHz接CLOCK0。现代计算机组成原理实验系统上的适配板即为GWAK100A板。此板除含EP1K100外,还有如图10-所示的16位高速SRAM、6264/28C64EEPROM、并行通口、4排I/O接口以及可插GWPSM掉电保护模板若作普通EDA实验开发,用法与GWAK30板相同,其引脚锁定和使用电路选择可通过参阅附录第2节的电路图和第三节的表格,注意,其配置口也是JTAG口。其它外接I/O引脚可根据适配板上标的引脚computer\Cpp100\附录:GW48EDA/SOPC主系统使用说明 PIO48 主板右数第23列“目标板插座”信号相

ooooooooooooooo25Voooooooooooooooooooooooooooo PIO60ooPIO61PIO62ooPIO68ooPIO69PIO70ooooPIO72ooooPIO74ooooPIO78oo

oooooo

ooooooo

ByteBlasterII编程配置口:该口主要用于对Cyclone系列AS模式配置器件EPCS4和(5混合工作电压源:系统不必通过切换即可为CPLD/FPGA目标器件提供5V3.3V2.5V1.8V和1.5V工作电源,此电源位置可参考附图1。JP5编程模式选择跳线仅GW48-PK2型含此。如果要对Cyclone的配置进行编程,应JP6/JVCC/VS2编程电压选择跳线:跳线JVCC(GW48—GK/PK2型标为“JP6)5V10K10、10K20、7128S、、等,必须选“5.0V”。而对低于或等于3.3V的低压器件,如1K30、1K100、10K30E、20K300、Cyclone、7128B等一律的的键9~键14(GW48—GK/PK2型含此键)6个键不受“多任务重配置”电路控制,由于键注意,键1至键8是由“多任务重配置”电路结构控制的,所以键的输出信号没有抖动问题,不需的消抖动电路设计练习,必须使用键914数码管1~8/发光管D1~D16:受“多任务重配置”电路控制,它们的连线形式也需PS/2接口:通过此接口,可以将PC机的键盘和/或鼠标与GW48系统的目标相连,从而完成PS/2通信与控制方面的接口实验,GW48-GK/PK2含另一PS/2接口,引脚连接情况参见实验电路结构NO.5(附图。1、对于GW48-GK/PK2系统,实验板右侧有一开关,若向“TO_FPGA”拨,将RS232接与FPGA相接;若向“TO_MCU”拨,则89C51单片机P30P31相接。于是通过此开关可以进2、GW48-EK系统上的用户89C51各引脚是独立的(时钟已12MHz,没有和其他任何电路相连,实验时必须使用连接线连接,例如89C51通过实验板RS232PC机进行串行通信,必须将此单片机旁的40针座(此座上每一脚恰好与89C51的对应脚相接)上的P30、P31分别与右侧的TX30、RX30相接。RS-232串行通讯接口:此接口电路是为FPGA与PC通讯和SOPC调试准备的。或使PC片机、FPGA/CPLD三者实现双向通信。对于GW48-EK系统,其通信端口是与中间的双排插座上的TX30NO.5D/A“AIN0”/“AIN1外界模拟信号可以分别通过系统板左下侧的两个输入端“AIN0”和“AIN1”进入A/D转换器ADC0809的输入通道IN0和IN1,ADC0809与目标直接相连。通过适当设NO.5”有关0809与目标的接口方式,同时了解系统板上的接插方法以及有关0809工作时序和引脚VR1/AIN11DLOAD以将并行线拔下而作它用(这时已经进FPGA的文件不会由于口线的电平变动而丢失例目标万能适配座CON1/2:在目标板的下方有两条80个插针插座(GW48-CK系统,其对于GW48-GK/PK2/EK系统,此适配座在原来的基础上增加了20个插针,功能大为增强。增加20插针信号与目标的连接方式可参考“实验电路结构NO.5”、附图11和第3节表格。GW48-EK系统中此20的个插针信号全开放。(29)8X8数码点阵GW48-GK型含此)在右上角的模拟EDA器件板上还附有一块数码点阵显示块,是通用共阳方式,需要16根接插线和两根电源线连接。详细方法请看“实验演示”的(30)+/-12V电源开关:在实验板左上角。有指示灯。电源提供对象:1)与082、311及DAC0832亮第2个发光管。(GK/PK2应该将输出幅度控制在0-5V内。JP13选择VGA输出:(GW48-GK/PK2含此。将“ENBLVGA输出显将“HIBT”短路,使VGA输出显示,这时可以将来自外部的VGA显示信号通过JP12座由VGA口输出。此功能留给SOPC开发。接控制LCD显示。方法是拔去此单片机(在右下侧线将座JP22/JP21(LCD显示器引脚信号)各机的I/O口。PI/O28出…数码管显示012…CDEFPI/O19~16,共4组4位二进制I/O出…数码管显示012…CDEF9818和键7,发出高低电平输出信号进入端口I/049和48;键控输出的高低电平由键前方的发光二极管D6和D15显示,高电平输出为亮。此外,可通过按动键41,分别向FPGA/CPLDPIO0~PIO154位16进制码。每按一次键将递增1,其序列为1,2…9,A…F。注意,对于不同的目标,其引IOW8PO”标号是一致的(这就是引脚标准化第3使用举例GW48-EK系统全开放插座使用说明的“IO22”对应此的38脚。2、右上侧20针双排插座。此座与系统的8个数码管相接。如果希望进行数码扫描方面的实验,以按以下步骤进行:关闭对应8数码显示的左下角拨码开关“DS8使能”,然后拔去4017,再将数码段信号分别与插座的a、b、c、d、e、f、g、p(小数点)相连;将8位位信号分别与插座的LED1、LED2、…、LED8相接。ALESTRAT分别ADC0809上各信号相接;bDA_D7、…、DA_D1、DA_D0DAC0832相接;c、

(3)附图2A-1c是16进制码(8421码)发生器,由对应的键控制输出4位2进制构成的1位16进制码,数的范围是0000~1111,即^H0至^HF。每按键一次,输出递增1,输出进入目标的4位2进制(4)直接与7段数码管相连的连接方式的设置是为了便于对7段显示译的设计学习。以图NO.2为例,如图所标“PIO46-PIO40接g、f、e、d、c、b、a”表示PIO46、PIO45..PIO40分别与数码管的7段输入g、f、e、d、c、b、a相接。结构图NO.0:目标的PIO19至PIO44共8组4位2进制码输出,经外部的7段译显示于实验系统上的8个数码管。键1和键2可分别输出2个四位2进制码。一方面这四位码输入目标的PIO11~PIO8和PIO15~PIO12,另一方面,可以观察发光管D1至D8来了解输入的数值。如,当键1控制输入PIO11~PIO8的数为^HA时,则发光管D4和D2亮,D3和D1灭。电路的键8至键3为FLEX10K10,则扬声器接在“3”引脚上。目标的时时钟输入未在图上标出,也需查阅第3节的引脚对照表。例如,目标为XC95108,则输入此的时钟信号有CLOCK0至CLOCK9,共4个可选的输入端,对应的引脚为65至80。具体的输入频率,可参考主板频率选择模块。此电路可用于设计频率结构图NO.1:适用于作加法器、减法器、比较器或乘法器等。例如,加法器设计,可利用键结构图NO.2:可用于作VGA接口逻辑设计,或使用数码管8至数码管5共4个数码管作段显示译码方面的实验;而数4数码1,4个数码管可作译码后显12可输入高低结构图NO.3:特点是有8个琴键式键控发生器,可用于设计八音琴等电路系统。也可以产间长度可控的单次脉冲。该电路结构同结构图NO.0一样,有8个译码输出显示的数码管,以显示目标32位输出信号,且8个发光管也能显示目标器件的8位输出信号。(5)结构图NO.4:适合于设计移位寄存器、环形计数器等。电路特点是,当在所设计的逻辑中有行2进制数从PIO10输出时,若利用键7作为串行输出时钟信号,则PIO10的串行输出数码可以在发光VGA接口 4.两个PS/2键盘接口。注意,对于GW48-CK系统,只有1个,连接方式5.A/D转换接口 注意结构图NO.5中并不是所有电路模块都可以同时使用,这是因为各模块与目标器件的IO接口1.当使用RAM/ROM时,数码管3、4、5、6、7、8共6各数码管不能同时使用,这时,如果有必要使用的显示,必须使用以下介绍的扫描显示电路。但RAM/ROM可以与D/A转换同时使用,尽管他们D/A中,可设定目标器件的PIO24、25、26、27、28、29、30、31端口为高阻态;而如果希望用目标器使用,因为在端口PIO37上,两者重合。结构图NO.6:此电路与NO.2相似,但增加了两个4位2进制数发生器,数值分别输入目标PIO7~PIO4PIO3~PIO0。例如2时PIO7~PIO4值将显示于对应的2,以(8)结构图NO.7:此电路适合于设计时钟、定时器、秒表等。因为可利用键8和键5分别控制锁等逻辑设计。它的特点是利21能序82进制数,而键6发出串行输入脉冲,每按键(10)结构图NO.9:若欲验证交通灯控制等类似的逻辑电路,可选此电路结构容把他们称为通用电路结构。即在原来的11套电路结构模式中的每一套结构图中增加附图11所示的“实验电路结构图COM”。例如,在GW48-PK2系统中,当“模式键”选择“5”时,电路结构将进入附扬声译译译译译译译译PIO11-PIO47-目数码 数码 数码 数扬声译译译译译译译译PIO11-PIO47-目键键键键键键键键键键键键键实验电路结构附图2实验电路结构图附图3实验电路结构图 PIO47PIO46PIO45PIO44PIO43PIO42PIO41 1附图6实验电路结构图NO.4 附图9实验

628128(PIN30->VCC,PIN3->A14,PIN29-PIN31->A15

A18/A15/WE

29C040(PIN31->WE,PIN1-

A17/VCCWR/A14A13A8A9A11OE

27020(PIN30->A17,PIN3->A15,PIN29->A14)27010(PIN30->VCC,PIN3->A15,P29-注意,PIO62同时是键11的信号PIO34 PIO33 PIO32

A10CS1D7

RAM/ROM使PIO24PIO25PIO26GND

D6D5D4D3

87658765432

(拨码1:“ROM使能ON”即将CS1接地102ref(+)DS8ROM拨码1:ROM/RAM使能,即它们的CS1接地拨码2由厂家通知升级102ref(+)DS8ROMIN-IN-ref(-拨码5:应用LM311使IN-IN-ref(-2-2-82-2-2-ADD-BADD-C9拨码6:82-2-82-2-2-ADD-BADD-C9

6 接 6 接 276

R77R77拨码R78拨码

445PS/2下接13滤波--(拨码5:“比较器ON”连 扬声译译滤波--(拨码5:“比较器ON”连 扬声译译译译译译译译PIO47-目PIO15-键键键键键键键键键实验电路结附图7实验电路结构图附图8实验电路结构图附图10实验电路结构图 附图1152

RS-3TORS-3TOTOTO

87654321CO(GW48- 结构图上4的信引脚引脚引脚引脚引脚引脚引脚引脚15342645375648685979687993453622791P结构GW48-图上引脚引脚引脚称号称号称号称7818929345671234627384789结构GW48-引脚引脚引脚7259 GW48-PK2上扫描显示模式时的连接方式:8数码管扫描式显示,输入信号高电平有 GW48-CK系统的VGA和RS232引脚连接 8201 SOPC实验补充Nios的硬件开发已在《SOPC技术实用》进行了详细叙述,在此不再重复,以下主要细述软件图第十一章、Nios软件开已设计好的SOPC的SOF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论