- 文本编辑器
个人常用的编辑器有以下几种1. gvim编辑器
启动设置文件:
set shiftwidth=2
set sts=2
set tabstop=2
set expandtab
set nobackup
set nowritebackup
set guioptions-=T
"colorscheme desert
set guifont=Lucida_Console:h12:b
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
"simple idea, great achievement!
"set ignorecase smartcase
"au GUIEnter * simalt ~x
列模式:CTRL+Q。
2. UltraEdit
列模式很方便,而且这个软件的功能也很好用。
3 NotePad++
各种背景设置,字体等都还可以,而且它的列对齐对编写整齐的代码很有帮助。缺点时有时中文注释,用其他软件,如ISE,会出现乱码。
还有很多其他文本编辑器其实也很好用,比如sublime,不过个人用的最多的还是以上三种。
所有编辑器,建议将Tab键都设置成空格,这样用Tab键设置对齐时,在不同的编辑器或系统间移植时对齐不会被打乱。
2. 仿真工具
Linux系统选择NCSIM或VCS比较好,比Modelsim强大不止一点点。Windows系统还是Modelsim比较好。安装过ncverilog的Windows版本,但是兼容性不好,还不如Modelsim。 1.Modelsim/questaSim
一个简单的仿真启动脚本 sim.do
vlib work
vmap work work
vlog -incr \
+incdir+. \
+incdir+../../rtl \
-work work \
-f filelist.f
vsim -quiet -novopt -t ns \
+notimingchecks \
+delay_mode_zero \
-L XilinxCoreLib_ver \
-L unisims_ver \
work.sim_top_tb
onerror {resume}
源文件列表放在filelist.f里面。
启动modelsim后,用cd或者通过File->Change Directory切换路径到sim.do所在目录,一般为sim目录,Transcript中输入:
do sim.do
启动仿真并自动vsim
添加信号到wave窗口。
view structure
view signals
view wave
onerror {resume}
quietly WaveActivateNextPane {} 0
add wave -divider {sim_top_tb/dut}
add wave /sim_top_tb/dut/HADDR
add wave /sim_top_tb/dut/HBURST
add wave /sim_top_tb/dut/HMASTLOCK
add wave /sim_top_tb/dut/HPROT
add wave /sim_top_tb/dut/HSIZE
add wave /sim_top_tb/dut/HTRANS
add wave /sim_top_tb/dut/HWDATA
add wave /sim_top_tb/dut/HWRITE
add wave /sim_top_tb/dut/HMASTER
其他一些常用的命令
vlog -cover bcest *.v
vsim -coverage -voptargs="+acc" ……
指令格式:view 窗口名
指令功能:打开Modelsim的窗口
view wave,打开波形窗口;
view list,打开列表窗口;
view varibles,打开变量窗口;
view signals,打开信号窗口;
view all,打开所有窗口;
2. Debussy
Debussy我主要是用来看仿真波形,当然,它的其他debug功能也很强大。Modelsim+Debussy。
Debussy设置
将Debussy安装目录下的\share\PLI\modelsim_pli\WINNT中的novas.dll拷贝到modelsim安装目录下的win32文件夹中。
然后在modelsim.ini文件中的[vsim]标签下添加Veriuser=novas.dll
也可以在ModelSim仿真脚本中的[vsim]命令行加入这样调用pli的选项:
-pli <Debussy安装目录>/share/PLI/modelsim_pli/WINNT/novas.dll
Modelsim仿真时Dump fsdb,在testbench中加入:
initial begin
$fsdbDumpfile("wave.fsdb");
$fsdbDumpvars(0,sim_top_tb);
end
感觉Debussy波形的显示效果比Modelsim好些。
下图是modelsim显示效果
对于一般的数字逻辑学习,跑个仿真就基本上可以严重代码写的正不正确了。但是如果能够下到实际的FPGA板子,或者看到自己设计的电路通过流片变成实际的芯片,那乐趣会多很多很多。Tapout费用太贵,但通过FPGA验证确实轻而易举的事。
我以前用的FPGA是Altera,现在学习Xilinx,感觉都差不多。只是ISE用起来没有Quartus方便,编译也更慢点。
不过自己刚开始学习FPGA时,连Modelsim是啥都不知道,更不用那个说nc-verilog、VCS了。那时所有的程序都是在FPGA开发板上调试的,现在回想起来,那时真是挺拼的,也挺傻的。
4 目录结构
工程目录
|------------rtl
|------------tb
|------------sim
|------------fpga
P.S:本来想把怎么样搭建个人学习平台的详细步骤以及一些需要注意的点写成一篇博文的,写到最后居然写成这个样子。蜻蜓点水般,看来写博客跟敲代码真的不是一回事。
做技术最高境界是什么,不知道,只知道自己离那个境界还很遥远很遥远。但我知道那肯定不是高不可攀,此时不知道为什么想起了中学课文《卖油翁》。