
首先,半导体是一门非常专业的学科,半导体器件仿真肯定需要专业的仿真软件,而通用CAE类的软件是无法解决大多数技术细节问题的,comsol, ansys,abaqus,就是通用CAE软件,据我了解前者在低频电磁,电化学,这一块还可以;中者,包含了很多软件,体系庞大却没好好消化,对这个了解的少,不发表意见;后者,材料,结构、岩土用的多;
其次,半导体器件仿真,这行业里站在高处的大牛,还是用TCAD类的软件较多,可以了解下国内主要做半导体的单位,高校、研究所、企业,基本上都是用这些软件,Synopsys的算一个,Crosslight算一个,NEXTNANO算一个,,,,,等等,其实很简单,你把这些软件放在网上一搜别人做的成果就知道哪些软件用的多,出的成果多;
不过,像Synopsys这类自己就做半导体的这类厂家,考虑到知识产权和保密问题,有一定的知识壁垒,所以这类的软件傻贵傻贵。NEXTNANO算是比较学术的一个,很久之前是开源的,现在借助他们的学校和研究所,正在走商业化,毕竟要存活嘛;
如果要学习TCAD软件也不容易啊,运气好的话,可以碰到技术比较过硬,而且还靠谱的厂家或者工程师,还会多帮忙指导指导;如果碰到只顾卖产品,无技术服务,那就惨了,,,,此为后话,一定要擦亮双眼,多做技术沟通和交流。很多技术型的公司非常乐意做技术交流的,双方互相学习共同提高嘛。
国内自己的自主研发的半导体软件,极少啊;国内做大型的工程计算软件,毕竟在前期缺少了知识储备和经验积累,现在别人制裁,就没辙了,哎,扯远了........
首先不知是逻辑电路还是模拟电路。逻辑电路的话一般是对硬件描述语言(HDL)进行仿真的软件,比如altera公司的ModelSim,开源的http://gna.org/projects/ghdl/(VHDL),Icarus Verilog(Verilog)等,更多可以参考List of HDL simulators,以及VHDL。
如果是模拟电路的话,一般以spice的众多衍生版本,比如商业的NI Multisim: 强大的电路设计和教学软件,Synopsys HSPICE,以及开源的http://ngspice.sourceforge.net/等等……
大部分电路相关软件都会提供linux版,可能除了一些国内的单片机厂商啥的……
首先,让我们来看看安装过程:for modelsim:
1 下载modelsim for linux的下载文件。应该总共有三个文件,分别是base,docs和linux.exe。都是gz压缩的。
2 解压缩linux.exe,解出来的是可以在终端中直接运行的文件,运行之,并安装。
3 分别解压base和docs在同一目录下。
4 把这时候的modeltech目录(也就是解压缩和安装后形成的目录)移动到你希望程序所存放的目录下,我这里选的是/opt。
5 把windows上的******文件拷贝到/opt/modeltech目录下。这个liense文件最好是在本机的windows环境下生成的。如果机器没有win环境,一定要把所使用的生成机器的mac改成自己机器的mac再用生成器生成。否则******不可用。
6 在home下的.bashrc中添加export LM_******_FILE=/YourInstallPath/Your******FileName,然后source .bashrc
7 进入安装目录下的linux,运行./vsim即可。
for ise and edk
1 首先,这个没有什么好说的,直接安装for linux平台的setup就行了。推荐把所有安装文件拷贝到本地硬盘上安装,这样快一些。
2 然后分别进入各自目录,运行settings.sh,这个是环境变量的配置文件
3 一劳永逸的做法,应该是在用户目录的 .bashrc 中将这两个sh配置文件都source进来。我用的是ubuntu,基于debian的,其它类型系统不一定有.bashrc,具体是什么文件自行摸索,反正是用户配置文件。
然后介绍一些如何用modelsim快速编译xilinx库文件。网上有很多不同版本的方法,下面这种是比较方便的一种:
1.首先将modelsim.ini文件只读模式去掉,存档前面打对勾。
2.在您安装ise的目录下,进入到bin/linux目录下,例如xxx:ise6in t,确认有compxlib这个程序
3.在终端中中运行compxlib -s mti_se -f all -l all -o xxxmodeltech_6.0xilinx_libs就可以了,xxx:modeltech_6.0是我安装modelsim的目录,您可以作相应的更改。参数也可以按照您的要求作相应的更改。
这样就搞定了。需要注意的是,如果你用的是windows系统,千万记住ise和modelsim的安装目录都不要出现空格,最好是直接安装在根目录下。
具体单独用modelsim进行behavioral model的方法是,打开modelsim,把你的代码和仿真代码文件加入,别忘了加入glbl.v文件。在哪里?自己找吧。然后编译,work库这些设置好后,命令行(modelsim里的)输入
vsim -L Xilinxcorelib_ver -L unisims_ver -L simprims_ver -lib work $yourtestname glbl
就可以了。
由于自己喜欢用vim编辑文件,感觉vim编辑verilog时比较不方便,vmake生成的makefile不是很全,所以花了一天晚上,总结了一个比较通用的,用于linux,unix环境的,适用于veirlog编程的make文件,和vim以及modelsim有机接合,可以编辑时直接编译,最后自动保存波形并观看。由于时间关系,以后再补充增加了ise处理命令的版本。
makefile如下:
EXECUTABLE := top_module #to be correct
MODULE := module_to_be_sim #to be correct
CC := vlog
CFLAGS := -reportprogress 300 +incdir+./include -work work -incr # add more option here if you want to compile with some library
COMPILE := $(CC) $(CFLAGS)
SIM := vsim
VIEW := vsim
TIME := -all
ACTION := "log -ports -internal $(EXECUTABLE)/*log -r $(EXECUTABLE)/$(MODULE)/*run $(TIME)quit"
SFLAGS := -c -do $(ACTION) -wlf $(EXECUTABLE).wlf
SIMULATE := $(SIM) $(SFLAGS)
SRCS := $(wildcard *.v )
all:$(EXECUTABLE)
$(EXECUTABLE):$(SRCS)
$(COMPILE) $(SRCS)
#run this when you compile the code the first time
start:
vlib work &&vmap work work
sim:
$(SIMULATE) work.$(EXECUTABLE)
$(VIEW) $(EXECUTABLE).wlf
clean:
rm -rf *.wlf &&bg &&pkill make &&pkill vish
刚想出来,有待改进。下面是我思路的大致介绍
1 在机器上安装完modelsim(废话)
2 为你的工程建立一个文件夹,首先用make start建立好库文件。目录里面要包括源文件和测试文件。估计所有人都是这样的吧~~
3 如果目录不变,则以后的仿真都用这个work库就行了。但是如果工作目录变化的话,每一次都要重新运行一次make start,这样才能在当前目录下生成work目录,用以记录各种库中的各个模块信息。
4 直接make。从makefile中可以看出,调用的是vlog工具,打开了增量编译,因此在对任何一个源文件进行修改的时候,放心make就行了,速度很快,立刻提示错误,呵呵。如果你使用的语言是VHDL,要把vlog改成vcom。具体VHDI的命令行编译我没有研究,请参考 modelsim_cmd_ref_ug.pdf这个官方文件。
5 之后用make sim进行波形仿真和查看,如果在testbench中用了display或者monitor这种语句的话,那么输出值会在终端中显示,还会保存在当前目录的transcript中。波形文件用vsim看,这是唯一需要打开gui的地方。其他时候全部命令行执行,效率高多了,自己感觉,呵呵。
我现在的问题是,只能从终端用vsim命令来启动modelsim,如果想把快捷程序图标加到面板上,属性设成 /opt/modeltech/linux/vsim(安装目录),怎么点都没有不能打开程序。由于无法直接让vsim在后台执行,所以要不然就手工关闭,要不就自己c+z后用make clean关闭,这样比较不方便,正在想改进办法,看能否不关闭gui而直接重新编译并看波形,这个也有待实验。我本来想用vsim xx.wlf &的,在终端下可以,写进makefile就不行,还没有找到原因。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)