首页 > 代码库 > Cadence的NC/NCsim是什么的缩写?

Cadence的NC/NCsim是什么的缩写?

我们知道数字EDA仿真软件常用的有三家 (big 3),

  • Synopsys的vcs, (Verilog Compiler Simulator)
  • Cadence的NCsim (Incisive Enterprise Simulator的core simulation engine), 和
  • Mentor Graphics的ModelSim/Questa.

在刚开始用ncsim的时候, 经常纳闷nc究竟是什么意思. 最终还是万能的搜索引擎帮忙了, Cadence的NCsim, 从文档[1] 和 [2] 可以看出NC/NCsim的意思是 native compiled simulator. 

但是为什么叫native compiled simulator? native究竟是什么意思? 尤其是在后续的工作中看多了更多以native来命名的软件/方法学, 例如:

  • Synopsys的NTB (Native Testbench),
  • Synopsys的NLP (Native Low Power) 

 

从维基百科[4]上, 我们可以得知compiler分为两种类型:

One classification of compilers is by the platform on which their generated code executes. This is known as the target platform.

  • native or hosted compiler is one which output is intended to directly run on the same type of computer and operating system that the compiler itself runs on.
  • The output of a cross compiler is designed to run on a different platform. Cross compilers are often used when developing software for embedded systems that are not intended to support a software development environment.

在此, 可以看出native的意思应该就是表示, ncsim编译Verilog时, 将它编译成 只能run在本机 或 同类型机器 上, 而非一个放在任何平台都可以run. 当然了, EDA编译输出一般也没必要支持跨平台, 所以也没必要cross compiler.

 

至此, 可以大概理解native的概念, 但有没有注意到compiler这个关键词? 它在vcs和ncsim中都有这个关键词, 它是什么意思呢? 下一篇博客里介绍.

 

参考文档:

[1] https://www.altera.com/ja_JP/pdfs/literature/an/an197.pdf 

[2] http://www2.ece.ohio-state.edu/cadence/amsSimBasics.html

[3] http://userwww.sfsu.edu/necrc/files/synopsys%20tutorials/VCS_tutorial.counterexample.pdf

[4] https://en.wikipedia.org/wiki/Compiler

 

 

个人理解, 欢迎方家们批评指正.

 

Cadence的NC/NCsim是什么的缩写?