|
一般我们习惯于把HDL综合、仿真、然后选定合适的FPGA器件实现,系统能正常工作,也就OK了。对于想把FPGA做的更高深和细致,切实发挥FPGA效用的工程师来说,仅仅做到这些可能还不够,详细阅读了一些代码,也接触了一些通信类公司内做FPGA算法的高手后,认识到做FPGA设计的高境界是:他们理所当然的非常熟悉需要实现的算法,同时能详细理解器件结构,然后把对关键算法模块仔细的进行布线约束(Directed routing constraints),差不多就是手工走线了,这样设计的模块稳定、高效。在这些非常强壮关键模块的支持下,下一个高境界就是把整个系统做稳定了,如果前面说的是微观的,那么大规模设计的控制是另一个挑战,相对就是宏观的概念了,在这方面和软件系统工程有很多类似的地方。
另外,很多约束,比如多时钟路径约束,是在模块设计的时候提交的,因为只有具体的模块设计者最清楚什么路径需要做这些约束。不管是altera还是xilinx,那些phy层模块的设计中最能看出FPGA相关的设计的能力。
|
|