extract、compile和elab

来源:互联网 发布:海航期货软件下载 编辑:程序博客网 时间:2024/04/29 05:50

来自百度知道


请问 VHDL 的编译(Compile),阐述(elaboration),和 综合(synthesis)之间的关系是什么?
————————
编译、精细化、综合是数字系统设计中的概念,而VHDL只是数字系统设计中的一种硬件描述语言。所谓编译(Compile)是借用软件系统中的概念,在数字系统设计中,是指包含多个环节的一个完整过程。这些环节主要有:分析(Analysis)、精细化(Elabortion)、综合(Synthesis)、适配(Fitter)、汇编(Assembler)等。分析——检查语法;精细化——建立数据库、为综合进行初始化;综合——将高层次描述转化为低层次描述并优化代码、适配——布局和布线、汇编——产生配置数据。
————————————
自己的理解:我们用VCS编TB,分为extract、compile、和elab。我理解的extract即获取文件。compile检查语法。elab建立连接关系,形成数据库。有的时候修改一些配置文件(比如jtag扫描连长度修改、增添XPROP、verid功能等)都只需要做elab,而无需继续compile,这是对形成仿真依赖文件的属性配置。
————————————————————
另外,R说,编译分为软件和硬件,硬件DESIGN 和软件TB相互独立。硬件设计编译分层,底层改动,就要从上到下重新编译。软件TB编译分块,改了这一块,就只用编译这一块.
》所以,疑问是:
1,R所说的编译,不是宏观过程,已将compile和elaboration分开了是吗?
2,那么我们的TB指的是软件吗?是的话,TB的编译不是也需要类的调用,组件的调用吗,不也是一个自顶向下的编译过程吗?为什么说是分块的,对其他块无影响的进行呢?
3,elab就只是把源文件最终形成target的过程吗,中间结构例化不正确的话,会在哪里报错呢?
4,extract的内容是rtl还是rtl和TB,为毛加这一步啊 ?

0 0