热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

简述基于EDA技术的FPGA设计

原文地址物联网、人工智能、大数据等新兴技术的推动,集成电路技术和计算机技术得到蓬勃发展。电子产品设计系统日趋数字化、复杂化和大规模集成化,各种电子系统的

原文地址


物联网、人工智能、大数据等新兴技术的推动,集成电路技术和计算机技术得到蓬勃发展。电子产品设计系统日趋数字化、复杂化和大规模集成化,各种电子系统的设计软件应运而生。在这些专业化软件中,EDA(Electronic Design Automation)具有一定的代表性。EDA技术是一种基于芯片的现代电子系统设计方法。它的优势主要集中在能用HDL语言进行输入、进行PEn(可编程器件)的设计与仿真等系统设计。现场可编程门阵列FPGA作为集成度和复杂程度最高的可编程ASIC。是ASIC的一种新型门类,它建立在创新的发明构思和先进的EDA技术之上。




EDA技术主要包括大规模可编程逻辑器件、硬件描述语言、开发软件工具及实验开发系统4个方面。其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体硬件.描述语言是利用EDA技术进行电子系统设计的主要表达手段。开发软件工具是利用EDA技术进行电子系统设计的智能化与自动化设计工具。实验开发系统则是提供芯片下载电路及EDA实验、开发的外围资源。




运算器、乘法器、数字滤波器、二维卷积器等具有复杂算法的逻辑单元和信号处理单元的逻辑设计都町选用FPGA实现。以Xilinx的FPGA器件为例,它的结构可以分为3个部分:可编程逻辑块CLB(Configurable Losic Blocks)、可编程I/O模块IOB(Input/OutputBlock)和可编程内部连接PI(Programmable Interconnect)。CLB在器件中排列为阵列,周围环形内部连线,10B分布在四局的管脚上。Xilinx的CLB功能很强。不仅能够实现逻辑函数。还可以配置成R^M等复杂的形式。




现场可编程门阵列FPGA是含有大规模数字电路的通用性器件。这些数字电路之间的互联网络是由用户使用更高级的软件来定义的。FFCA可以进行无限次的重复编程,从一个电路到另一个电路的变化是通过简单的卸载互联文件来实现的,极大地推动了复杂数字电路的设计,缩短了故障检查的时间。




传统的数字逻辑设计使用TTL电平和小规模的数字集成电路来完成逻辑电路图。使用这些标准的逻辑器件已经被证实是最便宜的手段。但是要求做一些布线和复杂的电路集成板(焊接调试)等工作,如果出现错误。改动起来特别麻烦。因此,采用传统电子设计方案人员的很大一部分工作主要集中在设备器件之间物理连接、调试以及故障解决方面。正是因为FPGA的EDA技术使用r更高级的计算机语言。电路的生成基本上是由计算机来完成,将使用户能较快地完成更复杂的数字电路设计,由于没有器件之间的物理连接。因此调试及故障排除更迅速、有效。




FPGA能进行无限次的重复编程。因此能够在相同的器件上进行修改和卸载已经完成好的设计。在一个FPGA芯片上的基本部件数量增加了很多,这使得在FPGA上实现非常复杂的电子电路设计变成比较现实。由于采用FPGA的EDA技术所产生的性价比更高一些,从而使得非常多的单位越来越多的采用这项技术.并且这种增长趋势仍旧在继续。




FPGA中的逻辑块是CLB.逻辑块是指PLD(Programmable bgicDevice)芯片中按结构划分的功能模块,它有相对独立的组合逻辑单元。块问靠互连系统联系。FPGA的逻辑块粒度小,输入变量为4-8,输出变量为1-2,每块芯片中有几十到上千个这样的单元.使用时非常灵活。FPGA内部互连结构是靠可编程互联PI实现逻辑块之间的联接。它的互联是分布式的,它的延时与系统布局有关,不同的布局.互联延时不同。根据FPGA的不同类型,可采用开关矩阵或反熔线丝技术将金属线断的端点连接起来,从而使信号可以交换于任意两逻辑单元之间。




采用FPGA技术集成设计数字电路产品最大的特点就是可以使设计和实现相统一。无须前期风险投资,而且设计实现均在实验室的EDA开发系统上进行,周期很短,大大有利于产品的市场竞争需求,所以FPGA的应用设计。特别适应于电子新产品的小批量开发。科研项目的样机试制以及ASIC产品设计的验证,能够进行现场设计实现、现场仿真及现场修改。




FPGA所具有的无限次可重复编程能力,灵活的体系结构,丰富的触发器及布线资源等一系列的特点使得它可以满足电子产品设计的多种需求。FPGA的应用领域主要集中在替换通用逻辑和复杂逻辑、重复编程使用、板极设计集成、高速计数器、加减法器、累加器和比较器的实现、总线接口逻辑等方面。面对科学技术高速发展,熟练的掌握EDA设计技术,灵活巧妙的使用FPGA至关重要。


原文地址



推荐阅读
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
author-avatar
风流小姑-娘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有