最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

03-点亮LED灯

来源:博客园


(相关资料图)

1.FPGA设计流程

1.设计规划对项目需求了解,划分子功能模块,子功能模块的输入输出信号及通信关系2.波形绘制了解子模块的功能,画出框图,搞清楚如何通过输入信号得到输出信号,进而绘制波形图3.代码编写参照绘制的波形图4.代码编译检查代码中的语法错误5.逻辑仿真编写仿真代码,对verilog代码进行验证6.波形对比7.绑定管脚8.分析综合,布局布线9.上板验证

2.点亮LED灯

2.1项目文件的管理

Led  doc -- 文档手册  quartus project -- 项目文件夹  rtl -- 存放可综合的代码  sim(tb) -- 仿真文件  matlab -- matlab文件夹

2.2 功能需求

  • 点亮LED灯,使用按键控制LED灯的亮灭
  • 使用一个module就可以实现

2.3 硬件资源

  • 使用KEY1点亮LED灯

2.4 波形绘制

2.5 编写代码

module led(  input    wire   key_in;  output   wire   led;);  assign led_out = key_in;endmodule

2.6 代码编译

  • quartus新建工程,选择位置及设置名称
  • 加载verilog代码
  • 编译verilog代码

2.7 逻辑仿真

  • 通过编写仿真文件tb,给待仿真的module灌入激励,查看输出波形是否和预期一致
module tb_led();  // 输入给被测module的变量reg  // 从被测module输出的使用wire  wire led_out;    reg key_in;  // 初始化输入信号  initial key_in <= 1"b0;    // key_in:产生输入随机数,模拟按键的输入情况  always #10 key_in <= ($random) % 2 ; // 求模,取余,产生非负随机数0,1  //例化  // 先写module的输入输出信号,括号里写连入的信号  led led_inst (    .key_in  (key_in);    // input key_in    .led_out (led_out);   // output led_out  );
  • 将tb添加到工程,并进行编译

2.8 绑定管脚

  • 进行一次全编译

2.9 上板验证

固化程序

  • 勾选之后,重新开始下载,下载程序完成之后要重新上电,固化程序才能下载到板子上

关键词: