0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA工程师不得不知的FPGA设计经验

FPGA设计论坛 来源:未知 2023-06-06 06:45 次阅读


点击上方蓝字关注我们


IC工业中有许多不同的领域,IC设计者的特征也会有些不同。在A领域的一个好的IC设计者也许会花很长时间去熟悉B领域的知识。在我们职业生涯的开始,我们应该问我们自己一些问题,我们想要成为怎样的IC设计者?消费?PC外围?通信?微处理器DSP?等等。

IC设计的基本规则和流程是一样的,无论啥样的都会加到其中。HDL,和软件等是帮助我们理解芯片的工具。IC的灵魂是知识。因此我们遇到的个挑战将是获得设计的相关信息,然后理解信息并应用它。

但是有些信息不是的,我们需要加入一些协会或从如IEEE/ISO等那些组织购买一些文档。设计者应该有很强的背景知识来很快的理解他们,甚至能改进存在的标准或。一个好的设计者应该应该有足够的设计技能和工具应用知识并且不断的积累他们。

例如:

8口以太网转换HUB控制器

需要知识:IEEE802.3标准,包括10MHZ以太网和100MHZ快速以太网。

相关领域:异步传输模式(ATM),IEEE802.11无限局域网,IEEE1394,USB等。

HDL,计算机仿真和只能解决ASIC设计流程的数字部分。如果在IC中有任何模拟部分,他将依赖模拟设计者或从另外的厂家购买。甚至一些纯数字部分也能从另外一些厂家购买以加速上市时间。那些不是被我们设计的部分称为IP,包括HDL代码,网表,硬核。对于我们设计的技术取决于硬核。一些IP是非常贵的,如在USB2.0中的PHY。一些小的公司没有足够的人力和软件资源来完成有些工作,甚至他们不能在缺货期预定足够的晶原,因此涉及服务公司取代了他们的工作。但并不是每个IP都满足我们的需要,有时我们需要在购买后作一些修改。我们要在设计前决定所要用到的IPs。

在设计开始,设计者必须理解所有相关的标准、规范和算法。但是有许多方法来应用这些规范和算法。的结构是快速和芯片尺寸的结合。不幸的是,快速的需求常常和芯片尺寸的需求是对立的。因此,在HDL编码工作前规划一个的结构也是一个重要的问题。

例如:

1:除法器

除数被固定。快的方法是查表,但是这个方法需要大的内存。我们可以可以从被除数中不断的减去除数直到新的被除数比除数小。它会花更多的时间但用少的硬件。还有许多的方法来构建除法器,每种方法都有他自己的优点和缺点。

2:图像处理的动态评估器

从前一个图片中发现相似的8×8模块,在整个电影剪辑中。基本的有全搜索和三步搜索的方法。许多的论文已经讨论过优化硬件复杂度和速度的结构,这里我不再祥解释。

一个好的设计者应该要被实际经验培训和不断的。我们要在每个设计工作中非常小心和耐心。因为一个NRE将会消耗大量的金钱和数周的时间,如果他不小心犯错,设计者将会对金钱和计划失败负责。经验和小心也许是来完成一个成功的设计项目的方法。

以下条款是一些对一个稳步的和成功的设计的建议:(可能有些朋友也指出了其中的部分,我这里只作简要说明,可能稍有不同)

命名风格:

1、不要用关键字做信号名;

2、不要在中用VERILOG关键字做信号名;

3、命名信号用含义;

4、命名I/O口用尽量短的名字;

5、不要把信号用高和低的情况混合命名;

6、信号的个字母必须是A-Z是一个规则;

7、使模块名、实例名和文件名相同。

编码风格:记住,一个好的代码是其他人可以很容易阅读和理解的。

1、尽可能多的增加说明语句;

2、在一个设计中固定编码格式和统一所有的模块,根从项目定义的格式;

3、把全部设计分成适合数量的不同的模块或实体;

4、在一个always/process中的所有信号必须相关;

5、不要用关键字或一些经常被用来安全综合的语法;

6、不要用复杂逻辑;

7、在一个if语句中的所有条件必须相关;

设计风格

1、强烈建议用同步设计;

2、在设计时总是记住时序问题;

3、在一个设计开始就要考虑到地电平或高电平复位、同步或异步复位、上升沿或下降沿触发等问题,在所有模块中都要遵守它;

4、在不同的情况下用if和case;

5、在锁存一个信号或总线时要小心;

6、确信所有寄存器的输出信号能够被复位/置位;

7、永远不要再写入之前读取任何内部存储器(如SRAM);

8、从一个时钟到另一个不同的时钟传输数据时用数据缓冲,他工作像一个双时钟FIFO;

9、在VHDL中二维数组可以使用,它是非常有用的。在VERILOG中他仅仅可以使用在测试模块中,不能被综合;

10、遵守register-inregister-out规则;

11、像synopsys的DC的综合工具是非常稳定的,任何bugs都不会从综合工具中产生;

12、确保版本与ASIC的版本尽可能的相似,特别是SRAM类型,若版本一致是理想的;

13、在嵌入式存储器中使用BIST;

14、虚单元和一些修正电路是必需的;

15、一些简单的测试电路也是需要的,经常在一个芯片中有许多测试模块;

16、除非低功耗不要用门控时钟;

17、不要依靠脚本来保证设计。但是在脚本中的一些好的约束能够起到更好的性能(例如前向加法器);

18、如果时间充裕,通过时钟做一个多锁存器来取代用MUX;

19、不要用内部tri-state,ASIC需要总线保持器来处理内部tri-state;

20、在toplevel中作padinsertion;

21、选择pad时要小心(如上拉能力,施密特触发器,5伏耐压等);

22、小心由时钟偏差引起的问题;

23、不要试着产生半周期信号;

24、如果有很多函数要修正,请一个一个地作,修正一个函数检查一个函数;

25、在一个计算等式中排列每个信号的位数是一个好习惯,即使综合工具能做;

26、不要使用HDL提供的除法器;

27、削减不必要的时钟。它会在设计和布局中引起很多麻烦,大多数有1-4个专门的时钟通道;

以上是大家在设计中遵守的要点,它可以使你的设计更好。

FPGA设计中不建议使用的电路

1、不建议使用组合逻辑时钟或门控时钟。组合逻辑和门控时钟很容易产生毛刺,用组合逻辑的输出作为时钟很容易使系统产生误动作。

2、 不建议使用行波时钟。行波记数器虽然原理简单,设计方便,但级连时钟(行波时钟)容易造成时钟偏差(△T),级数多了,很可能会影响其控制的触发器的建立/保持时间,使设计难度加大。转换的方法是采用同步记数器,同步计数器用原理图描述可能较难,但用HDL语言很简单就可以描述一个4位计数器。

3、尽量避免采用多个时钟,多使用触发器的使能端来解决。在可编程逻辑器件设计时,由于时钟建立应尽量避免采用多时钟网络,或者采用适当的措施减少时钟的个数,使用频率低的时钟尽量简化消除。

4、触发器的置/复位端尽量避免出现毛刺,及自我复位电路等,只用一个全局复位信号。

5、电路中尽量避免“死循环”电路,如RS触发器等。

6、禁止时钟在不同可编程器件中级连,尽量降低时钟到各个器件时钟偏差值。






有你想看的精彩




至芯科技-FPGA就业培训来袭!你的选择开启你的高薪之路!5月30号西安中心开课、欢迎咨询!
FPGA芯片下游行业保持快速增长
使用混合信号示波器进行高效 I2C 总线调试





扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看






原文标题:FPGA工程师不得不知的FPGA设计经验

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21653

    浏览量

    601507

原文标题:FPGA工程师不得不知的FPGA设计经验

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Verilog vhdl fpga

    岗位职责 1.负责FPGA的架构设计、代码编写、仿真等; 2.协同软、硬件工程师完成系统联调和测试; 3.负责项目中FPGA设计的相关文档编写及维护;任职要求 1.硕士及以上学历,电子、通信、计算机
    发表于 11-12 16:40

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,共同进步。 欢迎加入FPGA技术微信交流群14群! 交流问题(一) Q:FPGA中的FPGA算法工程师FPGA逻辑
    发表于 09-23 18:26

    一个更适合工程师和研究僧的FPGA提升课程

    各位编程精英er~ F学社打造的FPGA工程师培训班上线后,有不少同学后台私信询问:“能不能出个那种专门针对某个知识点的课程呢?我想针对自己的薄弱点深入学习。” 贴心如我,当然会满足大家的学习
    发表于 06-05 10:09

    fpga 工程师应该掌握的

    1.熟悉FPGA架构及应用,熟悉图像算法的FPGA实现。 2.熟悉verilog hdl,熟悉Xilinx或Intel等开发工具。 3.有AI算法 fpga实现经验优先。 4.本科及以
    发表于 05-30 17:08

    fpga仿真器是什么?它有哪些优势?

    FPGA仿真器是一种用于模拟FPGA(现场可编程门阵列)硬件行为的软件工具。它通过模拟FPGA内部的逻辑电路、时序和接口等,帮助工程师FPGA
    的头像 发表于 03-15 15:15 1563次阅读

    fpga开发板是什么?fpga开发板有哪些?

    FPGA开发板是一种基于FPGA(现场可编程门阵列)技术的开发平台,它允许工程师通过编程来定义和配置FPGA芯片上的逻辑电路,以实现各种数字电路和逻辑功能。
    的头像 发表于 03-14 18:20 1792次阅读

    fpga工程师前景如何

    FPGA工程师的前景看起来相当积极和广阔。随着5G通信、物联网、边缘计算和人工智能等技术的快速发展,FPGA工程师的需求将进一步增加。FPGA
    的头像 发表于 03-14 16:32 3061次阅读

    fpga工程师就业趋势

    FPGA工程师的就业趋势呈现出积极的态势。随着科技的发展,FPGA(现场可编程门阵列)在通信、汽车、医疗、航空航天等领域的应用越来越广泛,对FPGA
    的头像 发表于 03-14 15:47 1409次阅读

    【2023电子工程师大会】国产FPGA技术及国内FPGA发展pp

    【2023电子工程师大会】国产FPGA技术及国内FPGA发展ppt
    发表于 01-03 16:31 27次下载

    【2023电子工程师大会】我和LabVIEW:工程师经验分享pp

    【2023电子工程师大会】我和LabVIEW:工程师经验分享ppt
    发表于 01-03 16:31 15次下载

    PCB设计工程师不得不知的法则

    PCB是进行设计的物理平台,也是用于原始组件进行电子系统设计的灵活部件。本文将介绍几种PCB设计黄金法则,这些法则自25年前商用PCB设计诞生以来,大多没有任何改变,且广泛适用于各种PCB设计项目
    发表于 12-20 15:57 176次阅读

    #人工智能 #FPGA 怎么成为一个合格的FPGA工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年12月18日 21:19:01

    经典设计经验笔记,电子工程师必备基础知识

    电子发烧友网站提供《经典设计经验笔记,电子工程师必备基础知识.pdf》资料免费下载
    发表于 11-21 11:13 15次下载
    经典设计<b class='flag-5'>经验</b>笔记,电子<b class='flag-5'>工程师</b>必备基础知识

    FPGA/CPLD数字电路设计经验分享

    电子发烧友网站提供《FPGA/CPLD数字电路设计经验分享.pdf》资料免费下载
    发表于 11-21 11:03 3次下载
    <b class='flag-5'>FPGA</b>/CPLD数字电路设计<b class='flag-5'>经验</b>分享