最近终于下定决心学FPGA了, 花了一个星期参照<<深入浅出玩转FPGA>>和<<VerilogHDL入门>>把VerilogHDL可综全子集看了一遍.然后去看特权同学的视频去了.特权同学第一个工程分频器就是使Testbench来设置激励源来进行仿真的.在网上教程也大多是使用Testbench来设置激励源.虽然使用Testbench很科学,但是对于我这种VerilogHDL都不知道有没有入门的菜鸟来说, 这就面临着"先有鸡还是先有蛋的问题了".于是经过多次放g搜索, 终于找了使用图形界面设置激励源的的只言片语,经过多次实验得到了我认为正确的步骤. 这里还是先把步骤记录下来,以防以后忘记吧.

这里以特权同学视频中给出的第一个例子来做实验, 源码如下:

module clkdiv(
clk,rst_n,
clk_div
);

input clk; //50MHz
input rst_n; //低电平复位信号

output clk_div; //2分频信号

//---------------------------------------------------
reg cnt; //分频计数器

always @ (posedge clk or negedge rst_n) //异步复位
if(!rst_n) cnt <= 1'b0;
else cnt <= ~cnt; //寄存器cnt 20ms循环计数

assign clk_div = cnt;

endmodule
 
使用quartus ii 11.0建立工程后, 语法分析完成后就可以进行功能仿真了,进行功能仿真步骤如下:
1. 在tools --> options设置quartus ii 11.0 使用的第三方仿真工具ModelSim的安装路径,如图:
2. 在Assignments->setting中将仿真工具设置为ModeSim-Altera, 然后在设置Testbench处设置为None, 如图所示:
3. 设置完成之后, 单击tools-->Run SimulationTools-->EDA RTL Simulation,如图所示:
4. 然后进行ModeSim界面中(不知道为什么我的ModeSim进入时特别慢^_^!),如图:
5. 在左则library栏中有一个为work的library,点开之后如下图:
6. 双击clkdiv进行仿真, 如图:
7. 在Object栏中进行如下操作:
8. 也是最关键的一点,设置时钟, 在Wave栏中右击clk, 选择clock,进行时钟设置:
9. 时钟设置为10ps, 50%占空比,如图:
 
10. 设置rst_n的时钟起始电平为低电压,周期为1000ps占空比为10%, 如下图:
11. 在工具栏上的"仿真时间编辑框中"填入1000ps, 将仿真时长设置为1000ps, 如图所示:
12, 单击 "仿真时间编辑框中" 右侧的run按钮,即可出现如下波形:
13. 如果想重新仿真,只需要使用"仿真时间编辑框中"左侧的Restart按钮即可!