注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
ihalin的个人空间 https://home.eeworld.com.cn/space-uid-631177.html [收藏] [复制] [分享] [RSS]
日志

从零开始学FPGA我的第一个实验(记录一下)

已有 718 次阅读2016-7-13 16:22 |个人分类:学习FPGA

在两三个月前粗略看了一遍夏宇闻的《verilog数字系统设计》,现在都忘记了好多,暑假留校开始努力学FPGA咬咬牙狠心花了一个好几百大洋(出了血本)买了一块FPGA开发板。现在坚持多学点东西,不然毕业回家就种田了。刚刚做了第一个实验:按键控制led
用了一个二选一多路选择器实现
当如果key是低电平则led输出的电瓶高低和a端的电瓶高低一样反之和b相同
用了一个连续赋值语句实现
  1. module led(a,b,key,led_out);

  2.         input a;//輸入端口a
  3.         input b;//輸入端口b
  4.         input key;//輸入端口key 選擇
  5.        
  6.         output led_out;//輸出端口led_out
  7.        
  8.         assign led_out = (key == 0) ? a : b;
  9.        
  10. endmodule
复制代码
连续赋值语句assign:连续赋值语句只能用来对线网型变量进行赋值,而不能对寄存器变量进行赋值
input和output信号的类型默认是wire信号的



然后写了一个testbench
  1. `timescale 1ns/1ps//前面是仿真步进,后面是仿真精度 #100*1ns #100.1 精度
  2. module led_tb;//测试模块
  3.         //激勵信號
  4.         reg signed_a;//信号激励源
  5.         reg signed_b;
  6.         reg signed_c;//key
  7.        
  8.         wire ledl;
  9.         led led0(
  10.                                 .a(signed_a),
  11.                                 .b(signed_b),
  12.                                 .key(signed_c),
  13.                                 .led_out(ledl)
  14.         );//模块例化
  15.         initial begin
  16.         signed_a = 0;signed_b = 0;signed_c = 0;
  17.         #100;//延時100ns
  18.         signed_a = 0;signed_b = 0;signed_c = 1;
  19.         #100;
  20.         signed_a = 0;signed_b = 1;signed_c = 0;
  21.         #100;
  22.         signed_a = 0;signed_b = 1;signed_c = 1;
  23.         #100;
  24.         signed_a = 1;signed_b = 0;signed_c = 0;
  25.         #100;
  26.         signed_a = 1;signed_b = 0;signed_c = 1;
  27.         #100;
  28.         signed_a = 1;signed_b = 1;signed_c = 0;
  29.         #100;
  30.         signed_a = 1;signed_b = 1;signed_c = 1;
  31.         #200;
  32.         $stop;
  33.         end
  34.        
  35. endmodule
复制代码
然后开始RTL仿真,符合设计初衷

然后进行门


发现和RTL仿真的波形居然会不一样。现在还不知道为什么,怎么去避免。
然后我分配了引脚下载到开发板上了

a接gnd
b接vcc

a接vcc
b接gnd


做完了第一个实验

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章