版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计一款可编程HAD辅助软件方案1、引言Xilinx公司和Altera公司的设计工具中,提供了一些HDL形式的电路库。不过库单元都是比较简单的小规模数字电路,如逻辑门、74系列器件等,对中、大规模和复杂逻辑时序电路的设计帮助不大。另外也有一些外围功能模块和复杂逻辑的单元库提供如通用异步收发器、有限冲击响应滤波器等,但不是以HDL的形式提供的,只适用于某些特定的PLD器件,移植性比较差。因此,在实际工作中编制了一个管理和组合HDL电路单元IP库的辅助设计软件--HAD软件。通过HAD软件,对设计好的HDL电路库进行管理,按照系统设计规范的要求从库中选取相应的电路单元并将它们组合起来,大大降低了系统设计和调试的难度,提高了系统的稳定性和可靠性,并且有利于系统日后的升级。2、HAD辅助设计软件功能辅助设计(HAD)软件主要是对HDL语言的电路起一个辅助设计的作用。HAD软件的功能有两个:管理电路单元IP库以及生成所需外围电路的HDL程序。电路单元库的管理主要有两个方面:电路单元接口的管理以及电路单元HDL程序的管理。因此,电路单元库是由两个库组成的,一个是电路单元的接口库,另外一个是电路单元HDL程序库[7]。电路单元接口库里的基本单位是各个电路单元的接口信息,电路单元HDL程序库里的基本单位是描述各种电路单元的HDL源程序。类似于标准芯片,如8255芯片,电路单元的接口信息描述了这个标准芯片的输入输出以及它的功能,相当于8255的管脚和使用功能说明;而电路单元HDL程序描述了这个标准芯片内部的实际电路以及用何种电路结构实现相应功能的,这相当于8255芯片内部的电路组成和结构。对于管理一个库来说,基本的操作主要是新增、删除和修改库单元。HAD软件的最终目的就是生成外围电路的HDL程序。也就是根据系统设计规范的要求从IP库中选取合适的电路单元,再以适当的形式组合起来,成为一个完整的HDL程序。3、电路模块HDL程序生成HAD软件中最主要的功能就是电路模块HDL程序的生成。生成电路模块的HDL程序的过程,主要就是对电路单元IP库中的某些单元进行若干次例化的过程。进行例化就必须具备两个条件:首先要有模块输入输出端口的列表,其次要知道的是与这些端口相连接的信号列表。根据两者的对应关系,完成例化,然后将例化好的电路模块组合起来,成为一个HDL程序文件,生成电路模块HDL程序的流程如图2所示:通过上面的分析,首先创建两个数据库。一个存放各种模块HDL程序的源文件,另外一个存放与各个模块相对应的输入输出端口的信号列表。存放HDL程序的源文件的数据库比较简单,对它的操作仅限于对文件内容的复制,因此这里不作进一步的讨论。存放端口信号列表的数据库结构,如表1所示。表1中,最上面的一行是数据库的表头,字段名代表了每一个字段下面内容的具体含义。其中,module为电路单元模块名;detail为存放模块端口详细信息的数据库名;PortN代表了模块中某个端口的名字,N是自然数。从表1中第二行开始的记录是不同的模块。例如,第二行记录所描述的模块是带有一个异步清零端的D触发器,模块名是DFF,模块端口的详细信息存放在DFF_D的数据库文件中,总共有4个端口,分别是CLK、CLR、D和Q。数据库文件DFF_D中存放的是每个端口的方向和宽度。以DFF模块为例,其对应的数据库文件DFF_D的内容如表2所示:数据库文件DFF_D的字段有两类,前一半的字段都是以“Pn_io”的形式出现,代表了这个端口的流向,是输入、输出还是双向。后一半的字段都是以“Pn_bit”的形式出现,代表了这个端口信号的宽度。通过上面两类数据库,就可以完整地掌握一个模块的所有接口信息。在图1所示的流程图中,最重要的一步就是“进行例化、组合”。根据上述几个数据库的定义和描述,例化和组合的流程如图3所示。图中两个预备处理(六边形框)的工作是“例化组合”前的准备工作。根据系统设计规范的要求,确定所需功能模块的种类和数量,然后由设计者来确定所有模块及其输入输出信号的名字。这些操作都可以通过键盘输入的方式来完成,从而将例化和组合过程中所需的信息传递给HAD软件。确定好所需的模块之后,就可以逐一地对每个模块进行例化。首先打开端口信号列表数据库,从中找到所选定的模块。接着,打开存放有模块端口详细信息的数据库,读取端口的类型和数量,按照指定的连接信号名对模块进行例化。最后将例化后的HDL程序组合成一个文件。4、管理电路单元库程序的设计思路管理电路单元库的软件所具备的功能是对电路单元进行增加、删除和修改等操作,流程如图4所示。图4中,管理流程主要由3个处理分支组成,分别是增加、删除和修改电路单元分支。电路单元的增加功能就是将电路模块的HDL程序加入到电路单元库中。库中增加了一个新的电路单元,意味着又多了一个功能可供我们选择。随着库中电路单元的日益增多,硬件设计中可以用HAD软件完成的比重就会越来越大,有利于系统设计。增加电路单元处理分支的流程如图5所示。增加一个电路单元涉及到两个数据库的操作,一个是端口列表数据库,另外一个是端口详细信息数据库。首先,对端口列表数据库进行新增的操作,增加一条空记录,将新模块的I/O名称填入空记录中的相应字段里。然后,新建一个端口详细信息数据库文件。它的字段个数是新模块I/O个数的两倍,一半是用来指定I/O的方向,另一半是用来指定端口信号的宽度。最后,将I/O信号的方向以及宽度填入新建数据库的相应字段中。处理分支结束之后再返回到管理流程的入口,重新选择管理的内容。删除电路单元处理分支的流
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老机构社交活动合同
- 养老机构心理咨询服务合同
- 对外经济合作保险担保协议
- 批发买卖合同
- 咨询项目合作协议
- 某三甲医院门户系统建设方案
- 网站加载速度优化合同
- 质量管理思想史
- 井下透水事故现场处置方案
- 工程砌墙招投标代理合同
- 2024-2030年中国对苯二胺(PPD)行业市场发展趋势与前景展望战略研究报告
- 销售助理招聘笔试题及解答(某大型集团公司)2025年
- 浙江金华市慈善总会招考聘用高频500题难、易错点模拟试题附带答案详解
- 电子工业版l六年级上册信息技术教案(安徽版)(第七册)教案
- 突发事件药事管理应急预案(共5篇)
- 中国铁路国际有限公司招聘考试试卷2022
- GB/T 44399-2024移动式金属氢化物可逆储放氢系统
- 物流行业绿色物流发展实施方案
- 2024-2030年中国危化品行业发展趋势与投资前景展望报告
- 2024中小企业数字化水平评测指标
- 化工(危险化学品)企业主要负责人、安管员安全生产管理专项培训考核试卷(附参考答案)
评论
0/150
提交评论