3233|6

356

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

从零开始学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


做完了第一个实验

此帖出自FPGA/CPLD论坛

最新回复

汇总贴在此: 从零开始学FPGA——by ihalin https://bbs.eeworld.com.cn/forum. ... 5881&fromuid=536508   详情 回复 发表于 2016-7-25 10:44

赞赏

2

查看全部赞赏

点赞 关注(1)
 

回复
举报

6423

帖子

16

TA的资源

版主

沙发
 
楼主加油
此帖出自FPGA/CPLD论坛
个人签名training
 
 

回复

994

帖子

3

TA的资源

一粒金砂(高级)

板凳
 
万丈高楼平地起,加油
此帖出自FPGA/CPLD论坛
 
 
 

回复

1950

帖子

4

TA的资源

版主

4
 
楼主加油,
  自己知道板子 上面来去
  自己写代码
  自己写TB,看波形
  自己做综合

对你很期待。
此帖出自FPGA/CPLD论坛
个人签名MicroPython中文社区https://micropython.org.cn/forum/  
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

5
 
楼主加油,我跟楼主一样也刚开始学习!
此帖出自FPGA/CPLD论坛

点评

好啊,一起来学有伴  详情 回复 发表于 2016-7-19 11:44
 
 
 

回复

356

帖子

0

TA的资源

一粒金砂(中级)

6
 
fangsichao 发表于 2016-7-19 11:25
楼主加油,我跟楼主一样也刚开始学习!

好啊,一起来学有伴
此帖出自FPGA/CPLD论坛
 
 
 

回复

1万

帖子

2854

TA的资源

管理员

7
 
汇总贴在此:
从零开始学FPGA——by ihalin
https://bbs.eeworld.com.cn/forum. ... 5881&fromuid=536508

此帖出自FPGA/CPLD论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

玩板看这里:

https://bbs.eeworld.com.cn/elecplay.html

EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表