一、面积和速度如何折中

 面积和速度是芯片设计中一对相互制约、影响成本和性能的指标,贯穿FPGA设计的始终。在FPGA设计中,面积是指一个设计消耗的FPGA内部逻辑资源的数量,可以用消耗的触发器和查找表的个数或者是等效逻辑门数来衡量;

 速度是指一个设计在FPGA上稳定运行时所能达到的最高频率,由设计时序状态决定。与设计满足的时钟周期、时钟的建立时间、时钟的保持时间和 时钟输出延迟时间等众多时序特征量密切相关。

 关于面积和速度的折中,应在满足设计时序和工作频率要求的前提下,占用最小的芯片面积;或者在所规定的面积下,使得设计的时序余量最大,能够在更高的频率上稳定运行。通常,在资源足够的情况下,更多是选择速度的最优,这也是FPGA的特点。

二、硬件编码

 首先,HDL 是硬件描述语言,具有并行执行的特点。FPGA的逻辑设计所采用的硬件描述语言VHDL或Verilog与软件语言C和C++开发是有本质区别,在使用硬件描述语言进行设计时,不应片面追求代码的简洁。

 其次,要采用正确的编码方法。要对所需实现的硬件电路的结构和相互连接有清晰的理解和构想,然后再用适当的硬件语言表达出来。实际上综合软件对所写的代码在进行推论的时候,得到的硬件结果会因编码方式的不会而不同,直接影响硬件的实现。

三、模块化设计

 FPGA作为硬件系统设计,应该对设计全局进行宏观上的合理安排,包括逻辑功能模块划分、时钟域信号的产生和驱动、模块复用、时序或引脚约束、面积速度折衷等。这些系统上的考虑不仅关系到是否能够最大程度地发挥项目成员的协同设计能力,而且直接决定着设计的综合、实现效果和相关的操作时间。

FPGA内部由模块组成

 模块化设计是系统原则的一个很好体现,它是自顶向下、模块划分、分工协作设计思路的集中体现,是大型复杂系统的推荐设计方法。

模块化设计

四、同步设计

 目前商用的FPGA都是面向同步的电路设计而优化的,同步时序电路可以很好地避免毛刺,提倡在设计中全部使用同步逻辑电路。 同步设计时钟信号的质量和稳定性决定了同步时序电路的性能,FPGA的内部有专用的时钟资源,如全局时钟布线资源、专用的时钟管理模块DLL、PLL等。特别注意——不同的时钟域的接口需要进行同步。

跨时钟域如何处理

1、输入数据的节拍和本级芯片的处理时钟同频,可以直接用本级芯片的主时钟对输入数据寄存器采样,完成输入数据的同步化;

2、输入数据和本级芯片的处理时钟是异步的,特别是频率不匹配的时候,则只有用处理时钟对输入数据做两次寄存器采样,才能完成输入数据的同步化。

3、异步FIFO缓存或异步RAM缓存也能是实现数据同步化重要手段。

处理跨时钟域的作用是有效防止数据亚稳态的传播,使后级电路处理的数据都是有效电平。

异步FIFO具有独立的读写时钟

以上设计原则分享给大家,欢迎探讨,交流。

dll模块化设计与编程_FPGA设计原则经验分享相关推荐

  1. 领域驱动设计(DDD)的实践经验分享之持久化透明

    领域驱动设计(DDD)的实践经验分享之持久化透明 原文:领域驱动设计(DDD)的实践经验分享之持久化透明 前一篇文章中,我谈到了领域驱动设计中,关于ORM工具该如何使用的问题.谈了很多我心里的想法,大 ...

  2. 北大工学院计算机考研,北京大学(北大)工学院工业设计工程高分学姐考研经验分享...

    原标题:北京大学(北大)工学院工业设计工程高分学姐考研经验分享 招生目录及考试科目 参考书目 876机械技术综合基础: <机械基础与现代制造技术>勾明 著 <机械设计基础(第2版)& ...

  3. 3d打印英语文献_DMD 激光熔覆3D打印机型设计在仿真计算中的经验分享

    文章来源:安世亚太官方订阅号(搜索:peraglobal) 激光熔覆技术是20世纪80年代后兴起的一种新的表面处理技术,是指在基体表面上涂覆不同材料,这些材料以粉末的形式经送粉装置输送到基体材料表面, ...

  4. 武汉大学数字化设计与仿真考研成功上岸经验分享

    一.考前需要知道的事情 要知道都要考什么,要考政治.英语.专业课一和专业课二.专业课一主要是建筑学基础,专业课二是建筑设计.建筑设计总共是考三个小时,考试的内容是徒手绘制建筑设计图纸及相关分析说明图纸 ...

  5. 计算机测控系统设计与应用,计算机测控设计与编程实现

    <计算机测控设计与编程实现>由会员分享,可在线阅读,更多相关<计算机测控设计与编程实现(23页珍藏版)>请在装配图网上搜索. 1.计算机测控系统设计与编程实现,第三次讨论,演讲 ...

  6. 面向对象编程,设计原则,设计模式

    2019独角兽企业重金招聘Python工程师标准>>> 面向对象编程,设计原则,设计模式 面向对象编程 面向对象编程与面向过程编程的区别 面向对象软件开发的优点 面向对象编程语言 C ...

  7. 浅谈系统架构设计-从架构设计原理、架构设计原则、架构设计方法展开

    我们工作中一直强调要做架构设计.系分,最近前端同学在追求前端质量提升的时候,也在进行架构设计.前端系分的推广,那到底什么是架构设计和系分?该怎么做架构设计和系分?本文尝试对架构设计进行全面的介绍和分享 ...

  8. c语言嵌入式系统编程软件,C语言嵌入式系统编程软件设计研究论文

    C语言嵌入式系统编程软件设计研究论文 摘要:近年来,C语言编程在嵌入式系统越来越受到广大技术人员的青睐.介绍了C语言系统软件的编程思路,阐述了嵌入式系统编程软件架构的基本知识,包括模块划分.分层架构. ...

  9. 面向对象方法,编程,设计,测试

    OOA Object-Oriented Analysis:面向对象分析方法是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的是 ...

最新文章

  1. Hdu 6534 Chika and Friendly Pairs 莫队算法+树状数组
  2. spi flash偶尔出现写入错误的情况
  3. Android权限处理,Android校招面试指南
  4. javase中的super、this和protected关键字
  5. Loadrunner如何监控Linux系统资源
  6. abp vnext_SQL Server vNext – Microsoft是否喜欢Linux?
  7. win安装appium
  8. Pytorch模型量化介绍
  9. python木马程序设计_基于HTTP的Python特洛伊木马程序,用于远程系统取证和特权转移
  10. 公众号的服务器位置和ip地址,怎么查看公众号服务器ip地址吗
  11. 数据如何真正为业务创造价值!
  12. 2019,一年一度的高考季来临,作文又成热门话题
  13. js根据邮箱账号跳转登录邮箱地址
  14. 印象笔记 HTML邮件,#印象笔记#如何使用私有邮箱地址保存内容到印象笔记?
  15. 目标检测 YOLO系列算法
  16. Tableau笔记(10)转置和拆分
  17. 手机捕鱼服务器维护,手机捕鱼游戏服务器
  18. 使用fiddler修改支付金额,支付必测
  19. linux的多进程等待,等待进程结束wait()和waitpid()函数
  20. 为什么推荐使用CameraX?

热门文章

  1. 面试突击 | Redis 如何从海量数据中查询出某一个 Key?视频版
  2. Pandas 文件读取和导出
  3. lru调度算法例题_嵌入式必会!C语言最常用的贪心算法就这么被攻略了
  4. ping 工具开发日记(1)
  5. html动态跟随鼠标效果,使用JS实现气泡跟随鼠标移动的动画效果
  6. mysql call procedure into_mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量...
  7. 中专计算机专业教研方案,教研活动实施方案电脑基础知识IT计算机专业资料-教研活动实施方案.pdf...
  8. 哈工大华中科技大学计算机学院官网,我国重点大学排名盘点,哈工大重回前十,北理工只排十四...
  9. 双鉴探测器是哪两种探测方式结合_双鉴探测器的原理及应用
  10. 番茄花园win11 32位官方纯净版镜像v2021.07