首页 > 代码库 > 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.
- A 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是什么的缩写?