当前位置:首页 > FPGA > 正文内容

点亮LED灯实验

浩雨2年前 (2022-08-11)FPGA3536

设计流程:

设计规划 -> 波形绘制 -> 代码编写 -> 代码编译 -> 逻辑仿真 -> 波形对比 -> 绑定管脚 -> 分析综合布局布线 -> 上板验证

新建项目文件夹(led):

image.png

Doc:放置文档资料(数据手册、波形图、文档、项目日志)

Pri:放置工程文件(Quartus新建的工程就保存在该文件夹下)

Sim:放置对可综合代码的仿真文件

Src:放置可综合的代码(最后可生成硬件电路的代码)

模块框图:

image.png

波形图:

image.png

编写代码:

在新建的 Src 文件夹中新建 LED.v文件,然后编写如下代码 并保存


//-----------------------------------
// File name   : LED.v
// Author      : myFPGA.cn
// Data        : 20220811
// Description : This is a simple
//-----------------------------------
module LED (
    input  key , // 按键输入
    output led   // LED输出
);
    assign led = key; // 将按键的值赋值给LED
   
endmodule

在新建的 Sim 文件夹中新建 LED_tb.v文件,然后编写如下代码 并保存

//-----------------------------------
// File name   : LED_tb.v
// Author      : myFPGA.cn
// Data        : 20220811
// Description : This is a testbench for simple
//-----------------------------------
`timescale 1ns/1ns
// 前面的这个时间代表着时间单位,后面的这个代表最小时间单位,也可以理解为精确度
module LED_tb ();
reg  tb_key;
wire tb_led;
LED U_LED (
    .key(tb_key),
    .led(tb_led)
);
initial begin
    tb_key <= 0 ;
end
always #10 tb_key <= !tb_key ;
   
endmodule

使用Quartus软件新建项目:

1、点击New Priject Wizard

image.png

2、点击Next

image.png

3、

image.png

4、继续点击Next

image.png

5、直接Next,后面再添加,也可以在这里添加 .v文件

image.png

6、该步骤根据自己的实际情况来定

image.png

7、将Simulation 的选项改为 ModelSim-Altera

image.png

8、点击 Finish

image.png

9、

image.png

10、选择设置

image.png

11、

image.png

12、

image.png

13、

image.png

添加完成,项目即创建成功!

进行仿真实验:

1、将之前的 Hierarchy改为 Files

image.png

2、将我们编写的代码和仿真文件都加进来(在 1步骤中的 Files上右键点击 Add···)

image.png

3、编译信息中出现 was successful,0 errors 即表示编译成功

image.png

4、点击 RTL Simulation进行仿真(查看波形)

image.png

5、至此,该实验的波形部分已完成!

image.pngimage.png






扫描二维码推送至手机访问。

版权声明:本文由我的FPGA发布,如需转载请注明出处。

本文链接:https://myfpga.cn/index.php/post/254.html

分享给朋友:

“点亮LED灯实验” 的相关文章

Verilog实现时钟分频(奇数分频,偶数分频)二分频 三分频 四分频 五分频

Verilog实现时钟分频(奇数分频,偶数分频)二分频 三分频 四分频 五分频

完整工程文件:clkdiv.zip//------------------------------------------------------// File Name        : clkdiv.v// Author     &nb...

多路选择器

多路选择器

多路选择器:在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路。二选一多路选择器 --- 模块框图in_1:输入信号in_2:输入信号sel:控制选择信号out:输出信号二选一多路选择器 --- 波形图in_1、in_2、sel 的波形是随机的。out 的波形根据控制选通信号而定。当 se...

3-8译码器

3-8译码器

译码:译码是编码的逆过程,在编码时,每一种二进制的代码,都赋予了特殊的含义,即都表示了一个确定的信号或者对象。把代码状态的特定含义翻译出来的过程叫做译码,实现译码操作的电路称为译码器。译码器:一类多输入多输出的组合逻辑电路器件,其可以分为:变量译码和显示译码两类3-8译码器 模块框图:输出信号定义为...

半加器

半加器

半加器:两个输入数据位相加,输出一个结果位和进位,没有进位输入的加法器电路。即两个一位二进制数的加法运算电路。半加器 模块框图:sum:结果位count:进位半加器 真值表:半加器 波形图:代码部分:选择器代码:在Src文件夹中新建 half_adder.v文件module half_adder...

全加器(层次化设计)

全加器(层次化设计)

该篇博客根据上一篇半加器的设计,再结合层次化的设计思想来实现一个全加器!层次化设计理论部分:数字电路中根据模块层次的不同有两种基本的结构设计方法:自底向上的设计方法 和 自顶向下的设计方法自底向上(Bottom-Up)        自底向上的设计是一种传统的设计方法,对设计进行逐次划分的过程是从存...