logo资料库

进行Altera FPGA开发入门.pdf

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
进行Altera FPGA开发入门 Author : Bradley Feng Date :2016.07.20 Tel :18682383361 开发环境 :Quartus II 16.0 1.Fille ---- new project wizard 2.进入以下界面.设置好项目路径及项目名字 3.选择empty project. 分区 Quartus的第一个Demo 的第 1 页
3.选择empty project. 4.选择MAX10 ,10M08SAE144C8GES,我们提供的开发板是这个型号的。 然后一路next,直到finish为止。 -----------------------------------------------------------------我是分割线------------------------------------------------------------------ 1.File - new,选择Verilog HDL file 分区 Quartus的第一个Demo 的第 2 页
1.File - new,选择Verilog HDL file 2.OK后输入代码,然后另存为文件basic.v. /* */ Description : 该模块实现的是一个在MAX10 EAV Board 上的LED灯的闪烁功能 Author : Bradley Feng Date : 2016.07.20 E-mail : bradleyfeng@cytech.com Tel : 18682383361 module basic ( input input output ); CLK_50, RST_N, LED1 //max10 EVA board 低电平时灯亮 reg[25:0] counter; always@(posedge CLK_50) begin if(!RST_N) counter <= 0; else counter <= counter + 1; end reg shift_buf1 = 0,shift_buf2 = 0; always@(posedge CLK_50) begin if(!RST_N) begin shift_buf1 <= 0; shift_buf2 <= 0; end else 分区 Quartus的第一个Demo 的第 3 页
else begin shift_buf1 <= counter[25]; shift_buf2 <= shift_buf1; end end assign key_on = ~shift_buf2 & shift_buf1; //一个时钟周期的couter的上升沿信号 reg led_reg; always@(posedge CLK_50 ) begin if(!RST_N) led_reg <= 1; else if( key_on) led_reg <= ~led_reg; else led_reg <= led_reg; end assign LED1 = led_reg; endmodule 3.按照同样的方法,再次建立一个文件,作为顶层文件,命名为led。 输入以下代码: 4.在project navigator选项中选择file命令 5.选中basic文件,单击右键,选择create verilog Instantiation Template Files for Current File.会发现多 了一个文件,此文件就是刚刚生成的文件。选中,打开。 分区 Quartus的第一个Demo 的第 4 页
6.将basic_inst.v中的相应代码复制到led顶层文件中,我们建议在顶层文件中,不要进行逻辑代码的 描述,只进行模块的例化,是比较好的代码风格。 7.这个时候,我们需要验证一下我们代码是否正确,所以可以进行功能仿真。在仿真之前,需要编 写test_bench,Quartus软件会帮助我们自动生成test_bench文件。在功能仿真前,我们也可以编译 一下,看看是否能通过编译。 在Processing ------ Start ------ Start Test Bench Template Writer中,生成test bench模板。 分区 Quartus的第一个Demo 的第 5 页
8.上一个步骤中生成了test_bench,那么如何查看这个文件呢?回到Quartus_ii, File-------Open------- prjmax10_led-------simulation--------modelsim 9.如果进入到此文件夹,发现此文件夹是空的,也没有关系,不要着急。在上面Design Files这个地 方,我们点击,选择All Files就可看,看到led.vt文件。 分区 Quartus的第一个Demo 的第 6 页
10.打开led.vt,我们看一下代码结构,这段代码就是led.v (也就是顶层文件)的test_bench. 11.接下来我们要设置一下Quartus ii 软件,进行仿真的操作。在仿真操作开始前,我们要编写 test_bench,上面这个文件led.vt只是一个模板,具体我们期望的电路行为还是要通过写test_bench 来实现。 我们可以稍稍改进一下代码,如下,然后保存led.vt。需要注意花圈的这几个地方。 分区 Quartus的第一个Demo 的第 7 页
12.回到Quartus ii菜单栏,点击Assignment-------setting,会弹出这个框图。 13.在nativelink setting里选择compile test bench,然后按照下面的步骤就行操作。 一共有五个步骤 分区 Quartus的第一个Demo 的第 8 页
分享到:
收藏