没有合适的资源?快使用搜索试试~ 我知道了~
基于管理和组合HDL电路单元IP库的HAD辅助设计软件研究.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 57 浏览量
2021-11-18
15:47:42
上传
评论
收藏 58KB DOCX 举报
温馨提示
试读
15页
基于管理和组合HDL电路单元IP库的HAD辅助设计软件研究.docx
资源推荐
资源详情
资源评论
基于管理和组合 HDL 电路单元 IP 库的 HAD 辅助设计软件
研究
1、引言
在基于(MCU)的系统设计中,一般采用“MCU+PLD”的系统
结构。PLD 器件具有在系统现场可重复编程的能力,用来实现系统
的(I/O)(接口)等外围功能。在这类系统中,绝大多数的数字逻
辑可在 PLD 器件内部完成。在设计一个新系统时,应尽可能利用以
往设计中已使用过的 IP 模块,这些模块的设计已成熟、并经过时间
考验,可提高设计的重复利用率,并使系统性能和质量得到保证。
在长期的设计工作中,人们已积累了大量的 IP 模块,如在一个新的
设计中加以利用,必然存在如何管理这些模块的问题。为此可采用
“集约式”的设计方法,以提高设计效率。硬件“集约式”的设计方法如
图 1 所示,它类似于软件中高级语言的设计方式。先用 HDL 语言对
各种不同功能的(电路)模块建立 IP 模块,创建电路单元 IP 库。然
后根据设计规范的要求,从库中选取不同的电路单元组成描述外围
接口电路的 HDL 程序。最后,用相应的 PLD 设计工具对 HDL 程序
进行逻辑综合,在 PLD 器件内部完成布局(布线),生成最终的
(数字电路)。由于这些电路单元是用 HDL 语言描述的,而 HDL
语言的特点就是与工艺无关,因此用它描述的电路单元的可移植性
非常好,可以在采用不同工艺制造的 PLD 器件中使用。于是,电路
单元库可以用在不同的系统中,避免了重复设计与资源浪费。
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 所示:
剩余14页未读,继续阅读
资源评论
ziyoudianzi15
- 粉丝: 0
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python的高德地图+58租房(源码+使用文档)
- C语言文件读写代码.docx
- python的概要介绍与分析
- module-0982.SyncTensorsGraph.9515.sm-8.0-gpu-after-optimizations
- ChromeSetup20220804.exe
- 讲解记录 基于Java的小区物业管理系统
- module-0004.SyncTensorsGraph.7578.sm-8.0-gpu-after-optimizations
- python39.dll
- 【Matlab 六自由度机器人】Fixed Angles(固定角度) 和 Euler Angles(欧拉角) 之间的区别
- STLINK下载器调试过程中常见问题排查
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功