- 1、本文档共590页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VHDL的预定义数据类型-数字系统设计
在实用中必须注意,综合后的子程序将映射于目标芯片中的一个相应的电路模块,且每一次调用都将在硬件结构中产生具有相同结构的不同的模块,这一点与在普通的软件中调用子程序有很大的不同。因此,在面向VHDL的实用中,要密切关注和严格控制子程序的调用次数,每调用一次子程序都意味着增加了一个硬件电路模块。 3.6.1 函数(FUNCTION) 在VHDL中有多种函数形式,如在库中现成的具有专用功能的预定义函数和用于不同目的的用户自定义函数。函数的语言表达格式如下: FUNCTION 函数名(参数表) RETURN 数据类型; --函数首 FUNCTION 函数名(参数表) RETURN 数据类型 IS --函数体开始 [说明部分]; BEGIN 顺序语句; END FUNCTION 函数名; --函数体结束 一般地,函数定义由两部分组成,即函数首和函数体。 1.函数首 函数首是由函数名、参数表和返回值的数据类型三部分组成的。函数首的名称即为函数的名称,需放在关键词FUNCTION之后,它可以是普通的标识符,也可以是运算符(这时必须加上双引号)。函数的参数表是用来定义输入值的,它可以是信号或常数,参数名需放在关键词CONSTANT或SIGNAL之后,若没有特别说明,则参数被默认为常数。如果要将一个已编制好的函数并入程序包,函数首必须放在程序包的说明部分,而函数体需放在程序包的包体内。如果只是在一个结构体中定义并调用函数,则仅需函数体即可。由此可见,函数首的作用只是作为程序包的有关此函数的一个接口界面。 【例3.6.1】 FUNCTION FOUC1(A,B,C:REAL) RETURN REAL; FUNCTION * (A,B:INTEGER) RETURN INTEGER; --注意函数名*要用引号括住 FUNCTION AS2(SIGNAL IN1,IN2:REAL) RETURN REAL; --注意信号参量的写法 以上是三个不同的函数首,它们都放在某一程序包的说明部分。 2. 函数体 函数体包括对数据类型、常数、变量等的局部说明,以及用以完成规定算法或转换的顺序语句,并以关键词END FUNCTION 以及函数名结尾。一旦函数被调用,就将执行这部分语句。 【例3.6.2】 ENTITY FUNC IS PORT ( A:IN BIT_VECTOR(0 TO 2); M:OUT BUT_VECTOR (0 TO 2)); END ENTITY FUNC; ARCHITECTURE ART OF FUNC IS FUNCTION SAM(X,Y,Z:BIT)RETURN BIT IS --定义函数SAM,该函数无函数首 BEGIN RETURN (X AND Y) OR Y; END FUNCTION SAM; BEGIN PROCESS(A) BEGIN M(0)=SAM (A(0),A(1),A(2)); --当A的3个位输入元素A(0)、A(1)和A(2)中的 M(1)=SAM (A(2),A(0),A(1)); --任何一位有变化时,将启动对函数SAM的调用, M(2)=SAM (A(1),A(2),A(0)); --并将函数的返回值赋给M输出 END PROCESS; END ARCHITECTURE ART; 3.6.2 重载函数(OVERLOADED FUNCTION) VHDL允许以相同的函数名定义函数,即重载函数。但这时要求函数中定义的操作数具有不同的数据类型,以便调用时用以分辨不同功能的同名函数。在具有不同数据类型操作数构成的同名函数中,以运算符重载式函数最为常用。这种函数为不同数据类型间的运算带来极大的方便,例3.6.3中以加号“+”为函数名的函数即为运算符重载函数。VHDL中预定义的操作符如“+”、“AND”、“MOD”、“”等运算符均可以被重载,以赋予新的数据类型操作功能,也就是说,通过重新定义运算符的方式,允许被重载的运算符能够对新的数据类型进行操作,或者允许不同的数据类型之间用此运算符进行运算。 例3.6.3给出了一个Syno
您可能关注的文档
- Mini8Plus用户性能反馈报告.PDF
- MicrosoftInternetExplorer中的文档-全国农技推广网.DOC
- MELSECiQ-FFX5编程手册(指令通用FUNFB篇).PDF
- Minute TM 胞质胞核分离试剂盒 - 英文特生物技术.PDF
- MiCO学院-MiCO.iO-论坛.PDF
- mlcc_prec-P1使用注意事项.PDF
- MniSoft软件用户手册-路灯节能,照明节能,路灯节电器,照明节电器,电缆.doc
- MODELJJ系列电动搅拌器用户手册.PDF
- Montville学校营养项目有一个免费早餐和午餐夏日饮食服务。这个.PDF
- MOS场效电晶体.PDF
- DB23_T 3866-2024冰上龙舟赛事组织服务规范.docx
- DB32 2163-2012 棉纱单位可比综合电耗限额及计算方法.docx
- DB32∕T 2429-2013 棉花田间生长发育观察记载规范.docx
- DB23_T 3820-2024 工业互联网综合平台数据质量管理规范.docx
- DB23_T 3474-2023非煤智慧矿山信息系统技术规范.docx
- DB3201_T 1106-2022 工程地质层划分技术规范.docx
- DB33T 2515-2022公共机构“零碳”管理与评价规范.docx
- DB3301_T 0415-2023 装修垃圾收运处置管理规范.docx
- DB3311/T 106―2019“丽水山居”民宿服务要求与评价规范.docx
- DB3201T 1127-2022 慈善捐赠受赠管理规范.docx
最近下载
- 亿赛通电子文档安全管理系统V5.0--客户端使用手册V1113379.pdf VIP
- [标准规范]煤矿窄轨铁道维修质量标准及检查评级办法(精编).doc VIP
- 人教统编版小升初语文总复习专题七:句式变换课件(共28张PPT).ppt VIP
- 2025重庆永川区板桥镇村(社区) 后备干部选拔笔试备考试题及答案解析.docx VIP
- 深度解析《GBT 44026-2024预制舱式锂离子电池储能系统技术规范》.pptx
- 品质部各岗位职责说明书.pdf VIP
- 2022.01 深圳南山红花岭工业区城市更新项目一期建筑方案设计 华艺.pdf VIP
- 电冰箱安全技术规程培训.pptx VIP
- 07FK02 防空地下室 通风设备安装.pdf VIP
- 解决我国农民负担问题的路线图设想-中国发展.pdf
文档评论(0)