ispLEVER中Verilog设计详解.pdf
文本预览下载声明
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 文件是同一级的关系,后面同时出现功能仿真和时序仿
显示全部