文档详情

ispLEVER中Verilog设计详解.pdf

发布:2015-08-07约3.06千字共12页下载文档
文本预览下载声明
ispLEVER 工具中Verilog 语言的设计方法 ispLEVER 是Lattice 公司最新推出的一套EDA 软件。设计输入可采用原理图、 硬件描述语言、混合输入三种方式能对所设计的数字电子系统进行功能仿真和时序 仿真。编译器是此软件的核心,能进行逻辑优化,将逻辑映射到器件中去自动完成 布局与布线并生成编程所需要的熔丝图文件。这次实验采用Verilog HDL 硬件描述语 言。下面是使用该软件进行编程,生成.jed 熔丝图文件的详细步骤。 1.运行程序 开始-所有程序-Lattice Semiconductor=ispLEVER 2. 新建工程 在ispLEVER System Project Navigator 主窗口中按File=New Project 菜单建立一个 新的工程文件。此时会弹出如下图所示的对话框。请注意在该对话框中的Project Type 栏 中必须根据设计类型选择相应的工程文件的类型。本例中是Verilog 设计,输入则选择 Verilog HDL 类型。点击保存。 将该工程文件存盘为demo.syn。 3. 新建Verilog HDL 文件 在ispLEVER System Project Navigator 主窗口中选择Source=New 菜单在弹出的New Source 对话框中选择Verilog Module 类型。 此时软件会产生一个如下图所示的New Source (Schematic/Verilog HDL)对话框。 点击OK 后,弹出New Verilog Module 对话框。 在对话框的各栏中分别填入如上图所示的信息按OK 钮后进入文本编辑器-Text Editor 编辑Verilog 文件。 输入代码如下: module demoGAL( ); input C0,C1,CK,reset; output Q0,Q1,Q2,Q3; reg Q0,Q1,Q2,Q3; wire D; always@(posedge CK) begin if(reset) begin if(C1~C0) begin Q3=0; Q2=0; Q1=1; Q0=0; end else begin Q3=0; Q2=0; Q1=0; Q0=1; end end else begin Q3=Q2; Q2=Q1; Q1=Q0; Q0=D; end end assign D=((~C1~C0)Q3) | (((~C1C0)|(C1~C0))~Q3) | ((C1C0)((~Q3Q0)|(Q3!Q0)|(~Q3~Q2~Q1~Q0))); endmodule 保存后主窗口ispLEVER System Project Navigator 增加了新的文件demogal.v 4. 选择器件 在主界面左边的Sources in Project 双击下图选中的显示蓝色的选项,打开Device Selector。 这里选择GAL20V8B 器件 选好之后,点击“OK ”,此时会弹出对话框询问是否去掉之前所有的约束。 点击“是”,会弹出Warning 的对话框,继续选择“确定”。 启动Options=Select RTL Synthesis 菜单显示如下对话框: 如上图选择Synplif,点击“OK ”。 选中demoGAL.v 之后,选择右面窗口中的Synplify Synthesize Verilog File ,对所写的verilog 文件进行综合,确认没有问题,进行下一步,否则需要调试代码。 5. 添加测试波形文件 右键点击器件,选择“NEW”,弹出New Source 对话框。 选择Waveform Stimulus,单击“OK ”。弹出Associate Waveform Stimulus 对话框。 选择联系到器件。 注意:这个.wdl 文件要联系到器件上。如果联系到了.v 文件上,则只能进行功能仿真, 不能进行时序仿真。 单击“OK”,弹出Waveform Editor,如下图。 输入波形仿真文件的名字,单击“OK ”。 此时可以看到如下图, 主界面中.wdl 文件和.v 文件是同一级的关系,后面同时出现功能仿真和时序仿
显示全部
相似文档