1.synthesis
首先,同学你综合的单次拼错了,综合是synthesis,不是symthsis。
综合(synthesis)的概念是:将高级抽象层次的电路描述转化成较低层次的描述。
也就是说将语言描述的电路逻辑转化成与门、或门、非门、触发器等基本逻辑单元的互连关系。也就是我们常说的门级网表。
以四选一电路为例,综合过程将Verilog代码翻译成了门级互连网表。
![](https://i-blog.csdnimg.cn/blog_migrate/7d55b3759d47bf90ff080be2524a589c.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/b8dd6523649f8add0b6541157a43913d.jpeg)
综合的概念很重要,利用Verilog 做电路设计时我们总是强调可综合的概念,可综合就是我们的这段代码可以被翻译成门级电路,不可综合就是代码不能被翻译成与之对应的门级电路。
综合是创造性的转化过程,它不但能翻译我们的电路,还能够优化我们的电路,比如去除电路描述中冗余的电路结构,或者复用功能相同的电路结构。
2.implementation
implementation正确的翻译应该是“实现”,implementation是一个place和route的过程,也就是布局布线。
综合后生成的门级网表只是表示了门与门之间虚拟的连接关系,并没有规定每个门的位置以及连线的长度等。布局布线就是一个将门级网表中的门的位置以及连线信息确定下来的过程。
![](https://i-blog.csdnimg.cn/blog_migrate/61da5235cd47834caedec8296eb727aa.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/5f1e5a8a95bb60727f0e3dafc180f84b.jpeg)
在解释布局布线之前,我们先回顾一下FPGA的结构,我们知道FPGA可重复编程的基础是拥有巨量的可配置逻辑块(CLB)、丰富的布线资源以及其他资源
①布局
布局的过程就是将门级网表中的每一个门“安置”到CLB中的过程,这个过程是一个映射的过程。
②布线
布线是利用FPGA中丰富的布线资源将CLB根据逻辑关系连接在一起的过程。
逻辑门的映射位置不是随意的,是FPGA设计软件经过算法计算后精心排列的一般的布局布线策略是占用最少的CLB并且连线尽量短,也就是面积和速度最优。
布局布线策略有两种:速度优先和面积优先,往往不能同时达到两者皆最优,所以布局布线时需要在速度最优和面积最优之间做出选择。
以上节选自我的专栏文章
罗成:快速理解FPGA设计流程及工具软件![图标](https://i-blog.csdnimg.cn/blog_migrate/746e83b8335d441d2f643fdc147b72e2.png)
至于门级和版图的对应关系,可以参见我的另一篇专栏文章
罗成:如何通俗理解FPGA与Verilog HDL?