显示页面 讨论 修订记录 反向链接 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ====== 实验1-1 2输入基本门电路 ====== ===== 1.实验目的 ===== * 熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法// * 通过实验理解基本门电路// * 掌握用Verilog HDL数据流基本门电路的方法// ===== 2.实验任务 ===== 利用Verilog语言实现不同的2输入基本逻辑门。// ===== 3.实验原理 ===== // 与门,或门,与非门,或非门,异或门,同或门真值如下表所示: // ===== 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 ( //INPUT a , b , //OUTPUT led , empty ); //******************* //DEFINE INPUT //******************* input a,b; //******************* //DEFINE OUTPUT //******************* output [7:0] empty; output [5:0] led; wire [5:0] z; //Combinational logic style assign z[5]=a&b; //AND assign z[4]=~(a&b); //NAND assign z[3]=a|b; //OR assign z[2]=~(a|b); //NOR assign z[1]=a^b; //XOR assign z[0]=a~^b; //XNOR assign led=~z; //led is low active assign empty=8'b1111_1111; //led's defualt mode is lighted endmodule </code> ==== 仿真程序清单gates_tb.v ==== ===== 5.实验步骤 ===== ==== (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|}}