设计的仿真验证 设计的仿真验证 三、 进行仿真 1. 指定仿真器设置 (1)执行“Assignments Settings…”命令,打开Settings对话框。 (2)在Category列表中选择Simulator Settings ,则显示Simulator页面。 (3)若要进行功能仿真,则在Simulation栏中选择Functional;若要进行时序仿真,则在Simulation栏中选择Timing。此处选择Functional。 (4)指定仿真文件,这里为_3to8decode.vwf。 (5)执行“Processing Generate Functional Simulation Netlist”命令,生成网表。 (6)执行“Processing Start Simulation”命令,开始仿真。 (7)仿真完后,选择Y节点,右键Properties把Radix改为Binary可以更好的观察结果。 # # # # # # # 设计的仿真验证 仿真器的设置 设计的仿真验证 仿真结果 设计的仿真验证 四、仿真结果分析 仿真结束时,出现仿真成功提示框。 分析仿真结果是否符合设计要求,如果验证正确,选择“File/Save Current Report Section As”保存仿真结果,以默认工程名_3to8decode保存为.cvwf格式。 移动蓝色的参考线,在Value域观察对应时刻各输出的逻辑状态值是否正确。 小提示 # 设计实例2 设计一个模数为6的同步二进制计数器:(1)设置异步清零控制端,低电平复位。 (2)输入数据保持(3)输出进位提示。 (4)采用Verilog语言的文本输入方式。(5) 进行功能仿真与验证。 *说明:本例采用行为描述方式。第二种方法先定义一个类似产品74LVC161器件(模8),再反馈置数去掉无用状态。两种描述均能完成设计要求。该程序放在Quartus II 的安装目录“C:\altera\80\quartus”的counter6文件夹下。 设计要求 状态图 设计实例2 //behavior description of a module_6 counter module counter6 (CLK,CE,CR,Q,TC); input CLK,CE,CR; //定义输入信号 output TC; //定义输出信号 output[2:0] Q; //定义输出信号 reg[2:0] Q; //定义信号类型 assign TC=CE(Q==3‘b101); //进位信号 指示,输出5时进位 always @(posedge CLK or negedge CR) begin if (CR==1‘b0) //复位 Q=3b0; else if (Q==3‘b101)//0~5循环计数 Q=3b0; else if( CE==1‘b0) //输出保持 续右 Q=Q; else//计数 Q=Q+3b1; end endmodule 顶层实体名称 设计实例2 *说明:步骤基本与实例1相同 一、建立工程环境 执行菜单命令“ File New Project Wizard”,打开Introduction对话框。单击“Next”。输入工作目录文件夹名、工程名、顶层文件名,此处都为counter6即可; 点击“Next” 。 # 设计实例2 在安装目录counter6文件夹下选择counter6.v文件,单击“Add”按钮添加文件; 其他步骤默认,直接点“Finish”完成工程环境建立。 # # 设计实例2 二、分析与综合 单击工具条上的Start Analysis Synthesis 快捷按钮。编译成功后弹出提示对话框。Message窗口提示“0 error,0warning”;如有错误,在Message栏选择错误条目,右键Help,查找原因。 三、功能仿真与验证 1. 建立一个仿真文件(.vwf) (1)执行FileNew命令 在New对话框中选择Verification/Debugging Files标签,文件类型选择“Vector Waveform File”; 单击OK,则打开一个空的波形编辑器窗口。 (2)设置仿真的结束时间 ,执行“ EditEnd Time” ,默认为1?s即 可。 # # # 设计实例2 (3)设置网格间距,用Edit Grid Size命令,(默认设置10ns即可) (4)保存文件 执行“FileSave As…”命令,仿真文件名为与工程文件名(coun
原创力文档

文档评论(0)