




已阅读5页,还剩170页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.7Quartus设计简介,一、Quartus的设计流程二、Quartus的图形用户界面三、Quartus的图形用户界面功能,3.7.1Quartus简介,一、Quartus的设计流程,(1),(2),(4),(5),(3),设计要求,设计输入,功能仿真,综合,布局布线,时序分析,时序仿真,编程、配置,设计修改,(6),(7),全编译,(3)Synthesis-TranslateDesignintoDeviceSpecificPrimitives-OptimizeDesigntoMeetRequiredArea从弹出的对话框中选择要生成的文件类型,并确定是否要将该设计文件添加到当前的工程文件中;单击“OK”,再单击“确定”。,若在生成图形块的设计文件后,对顶层图形设计文件的图形块的端口名和端口类型进行了修改,则应右击该图形块,选中菜单项“UpdateDesignFilefromSelectedBlock”,对生成的底层文件端口自动更新!,1,2,3,4.使用MegaWizardPlug-InManager进行宏功能模块的实例化Altera提供的宏功能模块:LPM:LibraryofParamerterizedModules(如乘法器、累加器);MegaCore(如FFT、FIR等);AMMP(AlteraMegafunctionPartnersProgram),如PCI、DDSMegaWizardPlug-InManager运行一个向导,用于设置参数值和选择端口三种方法:方法一:执行“ToolsMegaWizardPlug-InManager”菜单命令;方法二:在原理图设计文件的Symbol对话框中单击“MegaWizardPlug-InManager”按钮;方法三:在命令提示符下键入qmegawiz命令。,预先设计好的设计模块,pipemult.bdf,输入:clk1,dataa7.0,datab7.0,wraddress4.0,rdaddress4.0,wren输出:q15.0流水线级数:2,使用MegaWizardPlug-InManager创建一个88乘法器,例1,1)(事先在资源管理器下新建一个文件夹)创建一个新的工程(如pipemult.qpf);2)新建一个原理图文件(如pipemult.bdf);3)使用MegaWizardPlug-InManager构建一个88乘法器:(1)执行“ToolsMegaWizardPlug-InManager”菜单命令,弹出一对话框;(2)选择“Createanewcustommegafunctionvariation”选项,单击“Next”按钮,弹出一对话框;(3)在宏功能模块库中选择宏功能模块(LPM_MULT),选择输出文件类型,键入输出文件名(如mult);,方法一操作步骤,宏功能模块,输出文件类型,输出文件名,(4)单击“Next”,根据需要,设置宏功能模块的端口和参数:devicefamily:StratixIIoutputfiletype:VerilogHDLoutputfilename:multdataaportwidth:8databportwidth:82stagepipeline(latency)generate.v(3)在Devicefamily列表中选择器件系列(如Cyclone);(4)在Devicename列表中选择要添加的配置器件(如EP1C4);单击OK按钮确定;(5)保存.cdf文件。,四、SOPC实验开发系统,1.硬件连接(1)连接下载线将20芯并口下载线一端连至PC机上的打印机端口,另一端连到实验台上的FPGA编程下载接口;将10芯下载线一端连在实验台左侧的ByteBlasterMV插座,另一端连在FPGA适配板的JTAGPORT插座,将实验台上JP5插针接在最上方的两个插针之上(Others)。(2)连接电源将220V电源线一端接220V电源插座,另一端接在实验箱后面的插座上;按下实验箱右侧的电源开关按键,接通电源。,2.进行下载及实验(1)在Quartus中打开编程器窗口-双击即可。(2)单击“HardwareSetup”按钮,弹出“HardwareSetup”对话框;(3)在“HardwareSetup”对话框中单击Currentselectedhardware栏旁的下拉箭头,选中所连的硬件类型ByteBlasterLPT1,再单击Close按钮,返回编程器窗口。(4)在MODE选项框中选择JTAG模式。(5)在编程器窗口中选中“Program/Configure”复选框。,编程器窗口,(6)编程下载:单击编程器界面中的“Start”按钮,则将编程目标文件从PC机中配置到FPGA中。,3.7.6第三方仿真工具ModelSim,ModelSim用户界面,3.7.7设计实例,设计一个数字系统:(1)使其能按1Hz的频率从0开始加1计数,当计到99时,再来一个时钟信号则产生一个进位信号,并清零,然后又从0开始加1计数。(2)该系统还有一个清零信号,当其为1时,计数值被清零。(3)两位计数结果用两位7段显示器显示,进位信号用一个LED显示。(4)假设实验板的系统时钟为50MHz,FPGA器件为EP1S10F780C6。,设计要求,设计思路自顶向下的设计方法:需要一个分频器,将50MHz分频为1Hz;需要一个两位BCD计数器,按01299012循环计数;需要一个译码器,将BCD计数器的输出译码为7段显示器的7段输入。,功能框图,设计方法:1.首先在资源管理器下创建一个工作目录。2.在QuatusII中创建一个工程,工程名最好与顶层图形文件同名。3.子模块设计:每个模块可以用HDL语言描述(模块名最好与程序文件名同名!),对每个模块进行编译、仿真,通过后然后生成模块符号。4.顶层设计:创建一个顶层图形文件,将各模块符号放到图中,添加输入、输出引脚,连线;编译,仿真。5.给输入、输出引脚分配引脚号码,编程下载。,第1步:在资源管理器下创建一个工作目录counter_7seg。第2步:启动QuatusII,执行菜单命令“FileNewProjectWizard”,创建一个工程,工程名为counter_7seg。第3步:设计子模块(1)执行菜单命令“FileNew”,新建一个文本文件f50MHz_to_1Hz.v,采用VerilogHDL语言描述;(2)存盘;(3)编译:执行“ProcessingStartStartAnalysisoutputclk_1KHz,clk_1Hz;/输出端口声明inputclkin;/输入端口声明reg15:0count1;reg9:0count2;regclk_1KHz,clk_1Hz;parametercount_width=50000;,always(posedgeclkin)/(1)50MHz到1KHz的分频beginif(count115:0=count_width-1)count115:0=0;elsecount115:0=count115:0+1;clk_1KHz=count115;/计数器最高位作为时钟信号输出endalways(posedgeclk_1KHz)/(2)1KHz到1Hz的分频beginif(count2=1000-1)count2=0;elsecount2=count2+1;clk_1Hz=count29;endendmodule,(3)功能描述,模块2两位BCD计数器(加1)modulebcd_counter(high,low,cn,clr,clk);output3:0high,low;/high:高4位输出,low:低4位输出outputcn;/高4位的进位inputclr,clk;reg3:0high,low;regcn;always(posedgeclkorposedgeclr)beginif(clr)/异步清零begincn=0;/进位信号也必须清零!high3:0=0;low3:0=0;endelse/计数,采用2个if语句的嵌套,beginif(low3:0=9)/低4位是否为9?beginlow3:0=0;if(high3:0=9)/高4位是否为9?beginhigh3:0=0;cn=1;endelsehigh3:0=high3:0+1;endelsebeginlow3:0=low3:0+1;cn=0;endendendendmodule,第3步:(5)功能仿真执行“FileNew”命令,新建一个仿真波形文件.vwf(如bcd_counter.vwf);在Edit菜单中设置EndTime(这里为100s)、GridSize(如1s),编辑输入波形(如这里给时钟信号clk设置时钟周期为1s);执行“ToolsSimulationTool”命令,打开仿真器工具窗口,进行功能仿真。,bcd_counter.vwf,(5)仿真通过后,执行“Create/UpdateCreateSymbolFilesforCurrentFile”菜单命令,创建模块符号。,注意:执行“ViewFitinWindow”命令,可以使波形缩小到窗口大小,以便于观察整个波形!,模块37段LED显示器(共阳极)译码器。moduledecoder_7seg(segment,data);output6:0segment;/segment6:0对应a,b,c,d,e,f,ginput3:0data;reg6:0segment;always(data)begincase(data)4d0:segment=7b0000001;4d1:segment=7b1001111;4d2:segment=7b0010010;4d3:segment=7b0000110;,4d4:segment=7b1001100;4d5:segment=7b0100100;4d6:segment=7b0100000;4d7:segment=7b0001111;4d8:segment=7b0000000;4d9:segment=7b0000100;default:segment=7b1111111;/当输入不是09时,数码管不亮endcaseendendmodule,第4步:设计顶层图形文件(1)创建一个顶层图形文件counter_7seg.bdf,将各模块符号放到图中,添加输入、输出引脚,连线;,counter_7seg.bdf,(2)将该图形文件设置为顶层实体:执行“ProjectSetasTop-LevelEntity”命令,或在ProjectNavigator中右击该文件名,选择“SetasTop-LevelEntity”;(3)进行编译器选项设置:执行“AssignmentsSettings”命令在Settings对话框的Category栏中选择“Device”,在Device页面中指定目标器件(一定要与实际器件型号完全一致!);,将未使用引脚指定为输入:然后在Device页面中单击“Device&PinOptions”按钮,打开“Device&PinOptions”对话框;,选择“UnusedPins”标签,在“Reserveallunusedpins”域中选择“Asinouts,tri-stated”单选钮。,不要选其它项!,进行编译过程设置等(在Settings对话框的Category栏中选择“CompilationProcess”,选中“UseSmartCompilation”复选框增量编译)。(4)全编译:执行“ProcessingStartCompilation”命令,或单击工具条上的全编译快捷按钮;(5)仿真(如果必要的话)。,如果系统分频级数太多,而各子模块已通过仿真的话,则不必对顶层设计文件进行仿真,否则仿真时间太长!,第5步:给输入、输出引脚分配引脚号码,编程下载(1)对顶层图形文件counter_7seg.bdf进行引脚锁定;执行“Ass
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文物保护修复工程师资格考试试题及答案解析
- 2025年文化创意产业市场营销策略研究试题及答案
- 2025年文化创意产业经理专业能力测评试题及答案
- 2025年卫生行政监督员资格考试试卷及答案
- 2025年CDMA第三代蜂窝移动通信系统项目建议书
- 2025年网站运营经理岗位综合素质评定试题及答案
- 2025年网页设计师综合管理能力考核试题及答案
- 2025年地面垂直度调整设备项目合作计划书
- 南通迎二模数学试卷
- 宁夏地区五升六数学试卷
- 2025村后备干部考试题库(含答案)
- 2025社区治理一表通应用规范
- 中国古诗词歌曲课件
- GB/T 26148-2025高压水射流清洗作业安全规范
- 企业法检商品管理制度
- 国际民用航空适航及维修相关知识测试试卷
- 2025年山东高考化学真题及答案
- HIT的诊断与治疗讲课件
- 子宫腺肌症教学护理查房
- 操作手册/西门子/软件/Simotion Programming-MCC
- 肛管鳞状细胞癌临床诊疗要点
评论
0/150
提交评论