- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
EDA项目教程
——基于VHDL与FPGA;项目6信号发生器的设计与实现;6.1子程序和LOOP语句;6.1.1子程序;LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYpsumIS
PORT(a,b,c:INSTD_LOGIC_VECTOR(3DOWNTO0);
clk,clr:INSTD_LOGIC;--clr为复位端,
高电平有效
SUM:OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDpsum;;ARCHITECTUREaOFpsumIS
PROCEDUREadd1(data,datb,datc:INSTD_LOGIC_VECTOR;
--定义过程体
datout:OUTSTD_LOGIC_VECTOR)IS
BEGIN
datout:=data+datb+datc;--数据求和
ENDadd1;--过程体定义结束。
在结构体中省略了过程首
BEGIN--结构体开始
PROCESS(clk)
VARIABLEtmp:STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN--进程开始;IF(clkEVENTANDclk=1)THEN
IF(clr=1)THEN--高电平
同步复位
tmp:=0000;
ELSE
add1(a,b,c,tmp);--过程调用
ENDIF;
ENDIF;
SUM=tmp;
ENDPROCESS;
ENDa;;从仿真波形中可以看出,在0~50ns区间,CLR=1(同步复位有效),SUM=0000;在50~100ns区间,clk上升沿的左侧(观察输入信号),a=0001、b=0100、c=0010,clk上升沿的右侧(观察输出信号),SUM=0111;在350~400ns区间,clk上升沿的左侧,a=0111、b=0111、c=0011,clk上升沿的右侧,SUM=0001(数据溢出)。其他区间的波形情况符合题意。
想一想、做一做:如何解决数据溢出的问题?;在VHDL中,用户可以自己定义一个程序包,将一些数据类型、子程序和元件保存在该程序包中,以便被其他设计程序所利用。程序包分为包首和包体两部分,格式如下。
(1)包首:PACKAGE程序包名称IS
包首说明;
END程序包名称;
(2)包体:PACKAGEBODY程序包名称IS
包体说明语句组,
END程序包名称;
说明:包首说明部分可定义函数、元件和子程序等。包体说明语句组部分是具体描述函数、元件和子程序的内容。在程序包结构中,如果在包首中定义了函数、元件和子程序的具体内容,这时包体可以缺省。;3.函数(FUNCTION);编写一个能输出2个4位二进制数中较大数的函数,并将这段函数放在一个程序包中,然后在进程中调用该函数两次,输出3个4位二进制数中的最大数。
(1)在名称为blockA的程序包中,定义函数名称为maxA的函数,程序包文件名为blockA.vhd。
由于本题需要
您可能关注的文档
- EDA技术项目教程——基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现 (1).pptx
- EDA技术项目教程——基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现 (2).pptx
- EDA技术项目教程——基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现 (3).pptx
- EDA技术项目教程——基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现 (4).pptx
- EDA技术项目教程——基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现 (5).pptx
- EDA技术项目教程——基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现 (6).pptx
- EDA技术项目教程——基于VHDL与FPGA EDA项目教程教案1~4.docx
- EDA技术项目教程——基于VHDL与FPGA EDA项目教程教案5~10.docx
- EDA技术项目教程——基于VHDL与FPGA EDA项目教程教案11~22.docx
- 语文(全国卷03)(考试版A4).docx
文档评论(0)