集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: lcytms

跟李凡老师学FPGA之D03:使用tcl脚本(数码管)、二进制转BCD(20160425课堂笔记)

[复制链接]
 楼主| lcytms 发表于 2017-3-12 23:37:54 | 显示全部楼层
1014
        全编译通过了。
        直接编程,直接start。
        现在看见什么?
        是0。
        现在我们知道了,seg有不同的编码值,段编码是在seg上加载。
        然后sel呢,这是地址。
        当为0的时候,是十万位被点亮,选中5到时候是个位被点亮。
        我们led的driver就是这样,就是每一拍一盏灯被点亮,点亮这盏灯的时候把它的七段码送上去,就是这样。
1015
        那么一盏灯被点亮的周期是多少呢?
        10k周,100us。
        100us,人的眼睛有视觉暂留,看起来是所有的灯都被点亮。
        实际上是一盏灯一盏灯被点亮。
        下面呢,我们就来试一下这个过程。
        我们先把分频器拿过来,把写好的分频器的代码放在工程文件夹的根目录下面。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-12 23:38:59 | 显示全部楼层
1016
        这个文件是一个状态机的文件,回头我们来介绍,但是今天不着急,今天我们把基础打扎实,解决我们同学的疑惑。
        回到Quartus,将该文件添加到工程中。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-12 23:40:42 | 显示全部楼层
本帖最后由 lcytms 于 2017-3-12 23:42 编辑

1017
        我用分频器来点一盏LED的灯,用分频器让它闪起来。
        50MHz我们看不到,太快了,看不到。
        我们把它做成10Hz。
1018
        我首先把分频器创建为符号,选择yes。创建成功选OK。
        在桌面双击,在工程下选中frequency_divider_mealy_fsm1s,点OK。
   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-12 23:43:00 | 显示全部楼层
1019
        放在合适的位置。
        这个分频器呢,就是已经定制的一个IP了。
        HW是高电平的宽度,LW是低电平的宽度。
        它可以指定高电平多少拍,低电平多少拍。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-12 23:45:05 | 显示全部楼层
1020
        计算输出频率。
1021
        输出10Hz时钟信号的情况计算如下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-12 23:46:09 | 显示全部楼层
1022
        修改HW、LW参数为2500000。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-12 23:47:56 | 显示全部楼层
1023
        修改bdf文件。
        修改LED[3..0]为LED[0]。
        修改key[3..0]为key[0],做复位。
        分别接在分频器的对应信号上。
        生成引脚。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-12 23:50:21 | 显示全部楼层
1024
        观察开发板资源名为clk。
        修改资源名为clk。
        再做全编译。
        检查一下分配出来的管脚。
        所有的管脚都已经分配了。
   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-12 23:52:01 | 显示全部楼层
1025
        然后呢我们就准备下板。
        在编程器里点start。
        我们把它的速度再放慢一点。
        10Hz还是有点快。
1026
        分频器的复位应该是负逻辑,这地方加个!符号,修改一下。
        要不然它一直在复位。
        然后再一次全编译。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2017-3-26 22:56:26 | 显示全部楼层
1027       
        全编译通过了以后,直接编程。
        现在闪了,是不是?
        所以说有时候是失之毫厘谬以千里。
        这是用10Hz,现在我们把它改成10k周。
        把参数改成2500。
        有兴趣可以逐个试,一个数量级一个数量级地试一下。
          

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-23 23:57 , Processed in 0.063068 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表