差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
实验1-1_2输入基本门电路 [2017/02/24 15:37]
zhijun 创建
实验1-1_2输入基本门电路 [2017/02/24 16:55] (当前版本)
zhijun
行 1: 行 1:
-====== 实验1-2输入基本电路 ======+<WRAP center ​ 60%> 
 +====== 实验1.1 基本组合逻辑电路 ====== 
 +</​WRAP>​ 
 ===== 1.实验目的 ===== ===== 1.实验目的 =====
  
-  * 熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法// +  * 熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法 
-  * 通过实验理解基本门电路// +  * 通过实验理解基本门电路 
-  * 掌握用Verilog HDL数据流基本门电路的方法//+  * 掌握用Verilog HDL数据流基本门电路的方法
  
 ===== 2.实验任务 ===== ===== 2.实验任务 =====
  
-利用Verilog语言实现不同的2输入基本逻辑门。//+利用Verilog语言实现不同的2输入基本逻辑门。
  
 ===== 3.实验原理 ===== ===== 3.实验原理 =====
  
-// 与门,或门,与非门,或非门,异或门,同或门真值如下表所示:+ 与门,或门,与非门,或非门,异或门,同或门真值如下表所示:
  
 +{{ :​2选1选择器逻辑单元真值表.png |}} 
 +  ​
 + ​原理图如下所示:
 + 
 +{{ :​2选1输入电路原理图.png |}} 
  
-===== 4.Verilog HDL建模描述===== 
-程序清单gates.v 
  
 +
 +===== 4.Verilog HDL建模描述 =====
 +
 +==== 程序清单gates.v ====
 +
 +<code verilog>
 +// --------------------------------------------------------------------
 +// >>>>>>>>>>>>>>>>>>>>>>>>>​ COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<​
 +// --------------------------------------------------------------------
 +// File name    : gates.v
 +// Module name  : gates
 +// Author ​      : Step
 +// Description ​ : Logic gates
 +// Web          : www.stepfpga.com
 //  // 
 +// --------------------------------------------------------------------
 +// Code Revision History :
 +// --------------------------------------------------------------------
 +// Version: |Mod. Date:   ​|Changes Made:
 +// V1.0     ​|2015/​11/​11 ​  ​|Initial ver
 +// --------------------------------------------------------------------
   module gates   module gates
   (   (
行 53: 行 79:
       assign ​ empty=8'​b1111_1111;​ //​led'​s defualt mode is lighted ​       assign ​ empty=8'​b1111_1111;​ //​led'​s defualt mode is lighted ​
     ​     ​
-  endmodule ​    +  endmodule ​ 
 + 
 +</​code> ​   
 + 
 +==== 仿真程序清单gates_tb.v ==== 
 + 
 + 
 +<code verilog>​ 
 +//​******************************************************** 
 +// 
 +//   ​Copyright(c)2016,​ STEP FPGA  
 +//   All rights reserved 
 +// 
 +//   File name       : ​  ​gates_tb.v 
 +//   ​Module name     ​:   ​gates_tb 
 + 
 +//   ​Author ​         :   ​STEP 
 +//   ​Email ​          : ​  ​info@stepfpga.com 
 +//   ​Data ​           :   ​2016/​08/​19 
 + 
 +//   ​Version ​        : ​  ​V1.0 
 +//   ​Description ​    : ​  ​testbench module 
 +// 
 +//   ​Modification history 
 +//   ​---------------------------------------------------------------------------- 
 +// Version ​      ​Data(2016/​08/​19) ​  ​V1.0 
 +// Description ​   
 +// 
 +//​******************************************************** 
 +// 
 +// 
 +//​******************* 
 +//DEFINE MODULE PORT 
 +//​******************* 
 +`timescale 1ns/100ps 
 +module gates_tb; 
 + 
 +reg a,b; 
 +wire [5:0] led; 
 +initial  
 + begin  
 + a=0; 
 + b=0; 
 + #50; 
 + a=0; 
 + b=1; 
 + #50; 
 + a=1; 
 + b=0; 
 + #50; 
 + a=1; 
 + b=1; 
 + #50;  
 + end 
 +gates gates_tb_uut( 
 + .a (a),​ 
 + .b (b),​ 
 + .led (led),​ 
 + .empty () 
 + ); 
 +endmodule 
 + 
 +</​code> ​   
 + 
 + 
 + 
 + 
 +===== 五、 实验步骤===== 
 +\\ 
 + 
 +=== 1.新建工程 === 
 +\\ 
 +双击{{:​diamond图标.png?​28|}}打开Lattice Diamond软件,点击**File—New—Project**新建工程,输入工程名称,指定工程保存目录,单击**Next**,选择设备如下:\\ 
 + 
 +  * **Family**选择**MachXO2**, 
 +  * **Device**选择**LCMXO2-4000HC**,​  
 +  * **Performance grade**选择**4**, 
 +  * **Package type**选择**CSBGA132**, 
 +  * **Operating conditions**选择**Commercial**, 
 +  * **Part Names**为**LCMXO2-4000HC-4MG132C**。 
 +  * 选择综合工具**Lattice LSE**,完成。\\ 
 + 
 +=== 2. 输入Verilog文件 ===
  
 +\\
 +点击**File—New—File**新建文件,类型选择**Verilog Files**,输入文件名称,选择保存路径,输入实验中的源代码后保存,编辑器会自动检查有无编辑错误,在下面的**Output**一栏会输出检查结果,如果有错误更正后重新保存直到没有报错为止。\\
 +\\
 +=== 3. 输入仿真文件 ===
 +\\
 +按照步骤**(2)**新建一个**Verilog**仿真文件,输入实验例程中仿真文件的代码后保存。在软件File List一栏中,右键单击“仿真文件”**—Include for—Simulation**,​将文件设置为仿真文件(设置完成后文件图标的V会消失)。\\
 +\\
 +=== 4. 功能仿真 ===
 +\\
 +点击**Tools**选择**Simulation Wizard**或点击图标,按照仿真向导指示新建仿真工程,
 +  * 输入工程名称,选择工程目录,选择**Simulator**为**Active-HDL**,
 +  * **Process Stage**选择**RTL**,
 +  * **Add and Reorder Source**:确认参与仿真的文件列表,**Next**
 +  * **Parse HDL files for simulation**:软件会编译仿真文件,若报错需修改后重新仿真
 +  * **Summary**:确认仿真工程信息,勾选**Run simulator**、**Add top-level signals to waveform display和Run simulation**,然后**Finish**
 +仿真软件会自动启动、运行仿真并显示仿真结果。查看仿真结果是否符合预期功能,如果不符合电路功能,则修改Verilog代码保存后,在**Active-HDL**中选择**Design—Compile All** 重新编译文件,编译通过后,在**Simulation**中重新开始仿真。
 +\\
 +\\
 +=== 5. 综合 ===
 +\\
 +在Lattice Diamond软件的**Process**一栏,双击第一项**Synthesize Design**进行综合(确保仿真文件设置为**simulation**后不参与综合),综合结果会在下面的**Output**一栏中给出,如果有错误则修改Verilog文件后重新综合直至综合成功为止。
 +\\
 +\\
 +=== 6. 分配管脚 ===
 +\\
 +打开**Tools—Spreadsheet View**或是点击图标{{::​分配管脚.png|}}在**Port Assignments**一栏中对输入输出信号分配引脚。
 +\\
 +\\
 +=== 7. 布局布线 ===
 +\\
 +双击**Process**一栏的**Map Design**和**Place & Route Design**完成**FPGA**内部的布局布线。
 +\\
 +\\
 +=== 8. 生成配置文件 ===
 +\\
 +勾选并双击**JEDEC File**生成可下载的**jed**文件。
 +\\
 +\\
 +=== 9. 下载 ===
 +\\
 + ​打开**Tools—Programmer**或单击图标,根据下图选择设备和下载文件,点击上面的绿色按钮**Program**,下载**jed**文件到FPGA,下载成功后**Status**状态显示**PASS**(下载前确保下载器驱动成功安装)。
 +{{:​下载成功.png|}}
 +观察开发板现象。
  
-===== 5.实验步骤 ===== 
-(1)新建工程 
-双击打开Lattice Diamond软件,点击File—New—Project新建工程,输入工程名称,指定工程保存目录,单击Next,选择设备如下: 
-Family选择MachXO2, 
-Device选择LCMXO2-4000HC, ​ 
-Performance grade选择4, 
-Package type选择CSBGA132, 
-Operating conditions选择Commercial, 
-Part Names为LCMXO2-4000HC-4MG132C。 
-选择综合工具Lattice LSE,完成。 
-(2)输入Verilog文件 
-点击File—New—File新建文件,类型选择Verilog Files,输入文件名称,选择保存路径,输入实验中的源代码后保存,编辑器会自动检查有无编辑错误,在下面的Output一栏会输出检查结果,如果有错误更正后重新保存直到没有报错为止。 
-(3)输入仿真文件 
-按照步骤2)新建一个Verilog仿真文件,输入实验例程中仿真文件的代码后保存。在软件File List一栏中,右键单击“仿真文件”—Include for—Simulation,​将文件设置为仿真文件(设置完成后文件图标的V会消失)。 
-(4)功能仿真 
-点击Tools选择Simulation Wizard或点击图标,按照仿真向导指示新建仿真工程, 
-输入工程名称,选择工程目录,选择Simulator为Active-HDL, 
-Process Stage选择RTL, 
-Add and Reorder Source:确认参与仿真的文件列表,Next 
-Parse HDL files for simulation:软件会编译仿真文件,若报错需修改后重新仿真 
-Summary:确认仿真工程信息,勾选Run simulator、Add top-level signals to waveform display和Run simulation,然后Finish 
-仿真软件会自动启动、运行仿真并显示仿真结果。查看仿真结果是否符合预期功能,如果不符合电路功能,则修改Verilog代码保存后,在Active-HDL中选择Design—Compile All 重新编译文件,编译通过后,在Simulation中重新开始仿真。 
-(5)综合 
-在Lattice Diamond软件的Process一栏,双击第一项Synthesize Design进行综合(确保仿真文件设置为simulation后不参与综合),综合结果会在下面的Output一栏中给出,如果有错误则修改Verilog文件后重新综合直至综合成功为止。 
-(6)分配引脚 
-打开Tools—Spreadsheet View或是点击图标在Port Assignments一栏中对输入输出信号分配引脚。 
-(7)布局布线 
-双击Process一栏的Map Design和Place & Route Design完成FPGA内部的布局布线。 
-(8)生成配置文件 
-勾选并双击JEDEC File生成可下载的jed文件。 
-(9)下载 
- ​打开Tools—Programmer或单击图标,根据下图选择设备和下载文件,点击上面的绿色按钮Program,下载jed文件到FPGA,下载成功后Status状态显示PASS(下载前确保下载器驱动成功安装)。