如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
实验一步骤P124实验5-12如果不使用第三方工具,此页直接点next跳过,保持多选框为不选择状态5CLICK电子与通信工程系Hierachytab可以浏览元器件的层次良好的缩进为同一个工程添加多个VHDL文件在ProjectNavigator的Files选项卡中找到后输入的mux31a.Vhd,在其上单击右键,并选择弹出菜单栏里面的SetasTop-levelEntity更换了顶层之后,会在projectNavigator中的Hierarchy选项卡中看到相应的变化。之后请重复综合->仿真等一系列过程以保证设计正确单击Assignments->Pins在下拉菜单中为信号分配管脚。请对照P407页对照表中最后一列EP1C6/1C12列进行分配CLOCK0179/28管脚分配完毕需重新综合将工程下载到FPGA开发板此处需勾选单击单击模式JTAG20213.1.1函数23【例9-5】P231LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;PACKAGEpackexpIS--定义程序包FUNCTIONmax(a,b:INSTD_LOGIC_VECTOR)--定义函数首RETURNSTD_LOGIC_VECTOR;FUNCTIONfunc1(a,b,c:REAL)RETURNREAL;FUNCTION“*”(a,b:INTEGER)RETURNINTEGER;FUNCTIONas2(SIGNALin1,in2:REAL)RETURNREAL;END;PACKAGEBODYpackexpISFUNCTIONmax(a,b:INSTD_LOGIC_VECTOR)--定义函数体RETURNSTD_LOGIC_VECTORISBEGINIFa>bTHENRETURNa;ELSERETURNb;ENDIF;ENDFUNCTIONmax;--结束FUNCTION语句END;--结束PACKAGEBODY语句LIBRARYIEEE;--函数应用实例USEIEEE.STD_LOGIC_1164.ALL;USEWORK.packexp.ALL;ENTITYaxampISPORT(dat1,dat2:INSTD_LOGIC_VECTOR(3DOWNTO0);dat3,dat4:INSTD_LOGIC_VECTOR(3DOWNTO0);out1,out2:OUTSTD_LOGIC_VECTOR(3DOWNTO0));END;ARCHITECTUREbhvOFaxampISBEGINout1<=max(dat1,dat2);--并行函数调用语句PROCESS(dat3,dat4)BEGINout2<=max(dat3,dat4);--顺序函数调用语句ENDPROCESS;END;电子与通信工程系存储位置-在结构体内部定义函数3.1.2重载函数ELSERETURNb;ENDIF;ENDFUNCTIONmax;--结束FUNCTION语句FUNCTIONmax(a,b:ININTEGER)--定义函数体RETURNINTEGERISBEGINIFa>bTHENRETURNa;ELSERETURNb;ENDIF;ENDFUNCTIONmax;--结束FUNCTION语句FUNCTIONmax(a,b:INBIT_VECTOR)--定义函数体RETURNBIT_VECTORISBEGINIFa>bTHENRETURNa;ELSERETURNb;ENDIF;ENDFUNCTIONmax;--结束FUNCTION语句END;--结束PACKAGEBODY语句--以下是调用重载函数max的程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEWORK.packexp.ALL;ENTITYaxampISPORT(a1,b1:INSTD_LOGIC_VECTOR(3DOWNTO0);……);END;ARCHITECTUREbhvOFaxampISBEGINc1<=max(a1,b1);c2<=max(a2,b2);c3<=max(a3,b3);END;LIBRARYIEEE;--程序包首USEIEEE.std_logic_1164.all;USEIEEE.std_logic_arith.all;PACKAGESTD_LOGIC_UNSIGNEDISfunction"+"(L:STD_LOGIC_VECTOR;R:INTEGER