赞
踩
1.双击运行Diamond软件,首先新建工程:选择File →New →Project →Next
2.工程命名:我们将新工程命名为LEDshining,工程目录G:/LEDshining,然后点击Next
3.添加相关设计文件或约束文件(如果已经有设计文件和约束文件,我们可以选择添加进工程):这里我们新建工程,没有相关文件,不需添加,直接Next
4.器件选择:按照Step FPGA开发板器件LCMXO2-4000HC-4MG132C配置,Next(器件型号必须确认正确,否则在管脚设置时会报错)
5.选择综合工具:Synplify Pro(第三方)和Lattice LSE(原厂)都可以,我们就使用Lattice LSE,直接Next
6.工程信息确认:上面选择的所有信息都在这里,确认没有问题,直接Finish
7.工程已经建好,我们下面新建verilog设计文件, 再input files文件夹点击鼠标右键→Add →New File
8.选择Verilog Files(选择自己使用的硬件描述语言),Name填写LED_shining,然后点击New,这样我们就创建了一个新的设计文件LED_shining.v,然后我们就可以在设计文件中进行编程了
9.程序源码已经准备好,如下,将代码复制到设计文件LED_shining.v中,并保存。
- // --------------------------------------------------------------------
- // >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<
- // --------------------------------------------------------------------
- // Module: LED_shining
- //
- // Author: Step
- //
- // Description: LED_shining
- //
- // Web: www.stepfpga.com
- //
- // --------------------------------------------------------------------
- // Code Revision History :
- // --------------------------------------------------------------------
- // Version: |Mod. Date: |Changes Made:
- // V1.0 |2015/11/11 |Initial ver
- // --------------------------------------------------------------------
- module LED_shining
- (
- input clk_in, //输入系统12MHz时钟
- input rst_n_in, //输入复位信号
- output led1, //输出led1
- output led2 //输出led2,与led1取反
- );
- parameter CLK_DIV_PERIOD=12_000_000; //分频常数定义
- reg clk_div=0; //定义reg型变量,用作分频后时钟输出
- //wire led1,led2; //wire型变量定义,可以省略,verilog里默认是wire型
- assign led1=clk_div; //持续赋值语句,将分频后时钟赋给led1,产生闪烁效果
- assign led2=~clk_div; //取反赋值给led2,与led1形成交替闪烁
- //偶数分频电路 clk_div = clk_in/CLK_DIV_PERIOD, 占空比50%,CLK_DIV_PERIOD必须为偶数
- reg[23:0] cnt=0; //分频用的计数器,2**cnt-1>CLK_DIV_PERIOD,计数器最大值要大于分频常数
- always@(posedge clk_in or negedge rst_n_in)
- begin
- if(!rst_n_in)
- begin
- cnt<=0;
- clk_div<=0;
- end
- else begin
- if(cnt==(CLK_DIV_PERIOD-1)) cnt<=0;
- else cnt<=cnt+1'b1;
- if(cnt<(CLK_DIV_PERIOD>>1)) clk_div<=0;
- else clk_div<=1;
- end
- end
- endmodule
==== 2.设计综合====
2.1程序编写完成,需要综合,在软件左侧Process栏,选择Process,双击Synthesis Design,对设计进行综合,综合完成后Synthesis Design显示绿色对勾(如果显示红色叉号,说明代码有问题,根据提示修改代码),如图
2.2通过综合工具,我们的代码就被综合成了电路,生成的具体电路,我们可以通过选择Tools → Netlist Analyzer查看(仅限Lattice的综合工具,第三方综合工具无法查看),如图
2.3综合生成电路后,分配管脚,选择Tools → Spreadsheet View,按照下图分配FPGA管脚,然后设置IO_TYPE为LVCMOS33,保存,界面如下
2.4在软件左侧Process栏,选择Process,直接双击Export Files,所有布局布线输出依次完成,结束后,所有选项显示绿色对勾。到这里完成了第一个程序流文件的生成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。