差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
quartus_prime的使用 [2017/05/31 10:39] group002 |
quartus_prime的使用 [2017/05/31 15:22] (当前版本) group002 |
||
---|---|---|---|
行 49: | 行 49: | ||
module LED_shining | module LED_shining | ||
( | ( | ||
- | input clk_in, //clk_in = 12mhz | + | input clk_in, //时钟输入=12M |
- | input rst_n_in, //rst_n_in, active low | + | input rst_n_in, //复位输入,低电平有效 |
- | output led1, //led1 output | + | output led1, //输出LED1 |
- | output led2 //led2 output | + | output led2 //输出LED2 |
); | ); | ||
- | parameter CLK_DIV_PERIOD = 12_000_000; | + | parameter CLK_DIV_PERIOD = 12_000_000; //时钟周期参数=12M |
reg clk_div=0; | reg clk_div=0; | ||
- | //wire led1,led2; | ||
assign led1 = clk_div; | assign led1 = clk_div; | ||
assign led2 = ~clk_div; | assign led2 = ~clk_div; | ||
- | //clk_div = clk_in/CLK_DIV_PERIOD | ||
reg[24:0] cnt=0; | reg[24:0] cnt=0; | ||
always@(posedge clk_in or negedge rst_n_in) begin | always@(posedge clk_in or negedge rst_n_in) begin | ||
行 88: | 行 86: | ||
(4)Quartus软件会完成分析综合,若设计没有问题,综合Tasks栏中Analysis & Synthesis会变成绿色,同时左侧出现绿色对勾。可以选择Tools→Netlist Viewers→RTL Viewer查看电路。 | (4)Quartus软件会完成分析综合,若设计没有问题,综合Tasks栏中Analysis & Synthesis会变成绿色,同时左侧出现绿色对勾。可以选择Tools→Netlist Viewers→RTL Viewer查看电路。 | ||
{{ :qu24.png?700 |}} | {{ :qu24.png?700 |}} | ||
+ | (5)RTL电路图如下: | ||
+ | {{ :qu25.png?700 |}} | ||
+ | ====1.3管脚约束==== | ||
+ | (1)选择Assignments→Device打开器件配置页面,然后点击页面中的Device and Pin Options…选项打开器件和管脚选项页面。 | ||
+ | {{ :qu26.png?700 |}} | ||
+ | (2)在Unused Pins选项中配置Reserve all unused pins为 As input tri-stated状态。 | ||
+ | {{ :qu27.png?700 |}} | ||
+ | (3)在Voltage选项中配置Default I/O standard为 3.3-V LVTTL状态。然后OK回到设计界面。 | ||
+ | {{ :qu28.png?700 |}} | ||
+ | (4)选择菜单栏中Assignments→Pin planner选项 或 工具栏中Pin planner图标,进入管脚分配界面。 | ||
+ | {{ :qu29.png?700 |}} | ||
+ | (5)在Pin Planner页面中将所有端口分配对应的FPGA管脚,如下图,然后关闭(自动保存)。 | ||
+ | {{ :qu30.png?700 |}} | ||
+ | (6)选择菜单栏中Processing→Start Compilation选项 或 工具栏中Start Compilation按钮,开始所有编译,等待Tasks列表中所有选项完成,如下图。 | ||
+ | {{ :qu31.png?700 |}} | ||
+ | ====1.4 FPGA加载==== | ||
+ | (1)使用micro-usb线将STEP-MAX10二代开发平台连接至电脑USB接口,选择菜单栏中Tools→Programmer选项 或 工具栏中Programmer按钮,进入烧录界面。 | ||
+ | {{ :qu32.png?700 |}} | ||
+ | (2)烧录界面如下,确认硬件驱动为USB-Blaster[USB-0],选择Add File添加工程输出文件中pof格式文件,勾选Program列和Verify列,点击Start按钮进行FPGA加载。 | ||
+ | {{ :qu33.png?700 |}} | ||
+ | (3)FPGA加载完成,界面中Progress状态显示100%(Successful)。观察开发板现象。 | ||
+ | {{ :qu34.png?700 |}} | ||
+ | =====2. 仿真工具ModelSIM===== | ||
+ | (1)首先提前准备测试文件(Textbench):LED_shining_tb.v,测试文件源码如下: | ||
+ | <code verilog> | ||
+ | |||
+ | // ******************************************************************** | ||
+ | // >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< | ||
+ | // ******************************************************************** | ||
+ | // File name : LED_shining_tb.v | ||
+ | // Module name : LED_shining_tb | ||
+ | // Author : STEP | ||
+ | // Description : LED_shining的测试文件 | ||
+ | // Web : www.stepfpga.com | ||
+ | // | ||
+ | // -------------------------------------------------------------------- | ||
+ | // Code Revision History : | ||
+ | // -------------------------------------------------------------------- | ||
+ | // Version: |Mod. Date: |Changes Made: | ||
+ | // V1.0 |2017/03/02 |Initial ver | ||
+ | // -------------------------------------------------------------------- | ||
+ | // Module Function:LED_shining的测试文件 | ||
+ | `timescale 1ns / 100ps | ||
+ | module LED_shining_tb; | ||
+ | |||
+ | parameter CLK_PERIOD = 40; | ||
+ | |||
+ | reg sys_clk; | ||
+ | initial | ||
+ | sys_clk = 1'b0; | ||
+ | always | ||
+ | sys_clk = #(CLK_PERIOD/2) ~sys_clk; | ||
+ | |||
+ | reg sys_rst_n; //active low | ||
+ | initial | ||
+ | begin | ||
+ | sys_rst_n = 1'b0; | ||
+ | #200; | ||
+ | sys_rst_n = 1'b1; | ||
+ | end | ||
+ | |||
+ | wire led1,led2; | ||
+ | LED_shining # | ||
+ | ( | ||
+ | .CLK_DIV_PERIOD(4'd12) | ||
+ | ) | ||
+ | LED_shining_uut | ||
+ | ( | ||
+ | .clk_in(sys_clk), //clk_in = 12mhz | ||
+ | .rst_n_in(sys_rst_n), //rst_n_in, active low | ||
+ | .led1(led1), //led1 output | ||
+ | .led2(led2) //led2 output | ||
+ | ); | ||
+ | | ||
+ | endmodule | ||
+ | |||
+ | </code> | ||
+ | \\ | ||
+ | (2)选择菜单栏Assignments→Settings 或 工具栏中Settings按钮,进入设置界面。 | ||
+ | {{ :qu35.png?700 |}} | ||
+ | (3)选择菜单栏Simulation选项,单选Compile test bench,点击Test Benches,在弹出的对话框中点击New,填写Test bench name,按照目录添加测试文件,如下图标识顺序,最后点击OK回到设计界面。 | ||
+ | {{ :qu36.png?700 |}} | ||
+ | (4)选择菜单栏Tools→Run Simulation Tool→RTL Simulation选项 或 工具栏中RTL Simulation按钮,Quartus软件会自动启动Modelsim软件。 | ||
+ | {{ :qu37.png?700 |}} | ||
+ | (5)Modelsim软件启动后自动完成代码编译,界面如下图。 | ||
+ | {{ :qu38.png?700 |}} | ||
+ | (6)选择需要观察波形的信号,点击右键,在弹出的右键菜单中选择Add Wave,这样就将对应信号添加至Wave窗口。 | ||
+ | {{ :qu39.png?700 |}} | ||
+ | (7)弹出的Wave窗口如下,选择工具栏中Restart按钮,在弹出的Restart窗口点击OK,复位仿真Wave窗口。 | ||
+ | {{ :qu40.png?700 |}} | ||
+ | (8)修改工具栏中仿真时间,点击工具栏中Run按钮,进行仿真,仿真波形如下,仿真完成。 | ||
+ | {{ :qu41.png?700 |}} | ||
+ | ==== 3.STEP-MAX10入门教程==== | ||
+ | 到这里我们了解了用Diamond软件进行开发的完整流程。接下来我们开始[[STEP-MAX10入门教程]]一步一步进入可编程逻辑设计。 |