原创 《基于FPGA的快速系统原型开发》CH3.2.3译

2009-11-10 18:51 3570 9 9 分类: FPGA/CPLD

点击看大图


点击看大图


点击看大图


点击看大图


 


3.2.3 实现阶段<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


    设计工具集是实现阶段重要的一部分。设计团队应该拥有一套能够舒服有效完成相应工作的工具集,这些工具集不一定是最好的,只要合适日程、任务和工作环境要求即可。如果设计团队没有当前工作最适用的工具集,可以对何时具备合适的工具制作一份日程表,以帮助设计团队保持热情和动力。


    尽可能的减少影响设计的各种因素,因此设计进行中最好能够使用一套统一的软件工具集。这通常要求在整个设计阶段使用相同的软件工具集进行设计。软件版本的更新通常应该在不同的工程之间。如果需要在同一个工程的设计流程中更新软件,应该是基于实际的需要,而非因为希望保持软件版本是“最新”的。如果发现了影响当前设计的问题,应该考虑进行软件的更新,可以用一个更新的软件版本进行覆盖或者使用诸如安装补丁的方式进行软件版本更新。一旦升级到一个更新的软件版本(或者通过安装补丁的方式升级到最新的软件版本),设计团队必须清楚的知道:


l   软件的更新是由于什么原因?


l   新的软件版本是否与之前的版本相兼容(例如,是否能够在不同的软件版本间还原或升级)?


l   软件更新修正了什么问题?


l   软件的哪些方面得到了改善?


l   新软件存在哪些已知的问题?


l   这些问题是否影响设计?


l   安排何时解决已知的问题?


l   设计的新旧版本软件是否可以在一台电脑上并存?


l   新旧版本软件间能否还原或升级而不造成任何软件本身的问题和并发问题?(设计在升级到新版本软件后却不能还原回原版本,这样的问题并不罕见)


FPGA在产品开发中的最主要优势是能够在线重配置。这样,设计中的问题能够通过FPGA器件的功能实现得以解决。设计团队不应将FPGA解决问题的能力仅仅局限于FPGA器件的功能,因为这样可能限制了FPGA器件从系统角度看可能的功用。


FPGA以外发生的板级问题,如果FPGA可以访问这些相关信号,那么也有可能通过FPGA来解决这些问题。如果已选择了一个具有充足逻辑门资源和可用I/O余量的器件,可以有选择的增加一些并非FPGA设计必须的走线来协助既定功能的实现。如果执行这些额外的努力,有很多问题必须考虑在内,包括:哪些信号?多少信号?增加的信号是否影响FPGA性能?一个实际的折中办法是,使用与FPGA连接的信号走线支持将来可能添加的新功能,并在连线上串上一个表贴、零欧姆的电阻。这种做法也使得在不添加飞线的前提下,很容易就能访问到可能需要的信号。其他好处包括隔离FPGA周边潜在的噪声信号(不焊接零欧姆电阻),如果需要的话,可以为设计更新或访问FPGA内部信号添加焊盘。零欧姆电阻方式仅限于低速、非关键信号。额外的板级设计努力和面积需求通常被证明是有益于改善设计灵活性的。


    FPGAPCB板设计完成后也可能支持和实现额外的功能。这是一种超前的设计理念,这些额外的功能包含能够访问必要的板级信号和时钟,足够的功率和资源,能够包含一些原先并未在最初FPGA产品开发中定义的扩展的功能。通常随着设计的深入,这些特性是“最好能有”,但并不一定是初始设计的一部分。只要事先做好合适的计划和准备,FPGA器件一般都能够兼容额外的特性和功能。


    设计者若要达到这种设计能力,就必须对设计本身和将来可能实现的改进功能有一个系统级的认识。为了支持潜在的新特性,实现特定功能的信号和时钟应该事先与FPGA相连。对未来可能的需求进行规划也有助于这些特性更易于实现和支持。


    实现阶段另一个重要的方面是同步设计。同步设计对于实现高效的、可维护的、可支持的设计是至关重要的。使用同步设计后,独立的仿真、结构和工艺实现能够可靠、稳定、简化的进行,并简化了约束实现。第7章会对同步设计做更多的讨论。以下列出了实现同步设计的一些主要目标相关的要点。


l   避免门控时钟(避免产生内部逻辑或分频产生的时钟)


l   适当的使用低偏斜的全局时钟资源


l   使用时钟使能而非门控时钟


l   使用专用时钟块和全局走线从而最小化偏斜


l   避免门控异步复位/置位


l   用寄存器对异步输入打一拍


 


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条