计数器 FPGA 电路实验 作业

实验内容 1

  • 使用Veriog - HDL 语言,DE0 FPGA 开发板 按照如下要求设计一个计数器电路 。

功能描述

在 DE0 开发板的 最右侧 的 HEX LED 数码管上,进行计数并用十进制数进行显示。计数器特征如下

只能使用一个50MHz的时钟信号,不要有计数器分频的信号作为时钟

该计数器在电路复位后会循环的从0值递增计数到最大值,计数最大值是一个循环变化的过程,计数器复位之后,第一次计数最大值是6,然后是7、8、9,然后计数最大值又变成6,如此往复循环, 计数数值变化的时间间隔是1秒 ,计数过程如下所示:

0 1 … 6 0 1… 7 0 1 … 8 0 1 … 9 0 1 … 6 ……

作业内容要求

  • 使用CSDN技术博客交作业
  • 人工绘制的 电路结构RTL设计图,该图片用于说明你设计电路时的想法,注意要在RTL图中画出Verilog代码中的 生成D触发器 reg 变量
  • Quartus扫描生成的电路RTL图,该图片用于说明Quartus的电路编译结果
  • 计数器的计数值(注意不是HEX LED的驱动信号)的SignalTap截图,需要使用Segment 模式,捕获 一个完整的计数循环过程 中所有的计数值。
  • 提交代码,请使用博客中提供的代码块功能

实验内容 2

功能描述

在 DE0 开发板的 从左到右 的 4个HEX LED 数码管上,进行计数并用十进制数进行显示。计数器特征如下

  • 只能使用一个50MHz的时钟信号,不要有计数器分频的信号作为时钟
  • 系统复位后全部HEX LED熄灭
  • 左1 LED,显示 0、1、2 ~6 ,然后熄灭
  • 左2 LED,显示 0、1、2 ~7 ,然后熄灭
  • 左3 LED,显示 0、1、2 ~8 ,然后熄灭
  • 最右侧 LED,显示 0、1、2 ~9 ,然后熄灭
  • 然后再开始左1 LED, 显示 0、1、2~6 如此一直循环。
  • 所有情况下,计数数值变化的时间间隔是1秒

评分原则和加分选项

  • 实验1和实验2的报告内容写在一个博客文章里。
  • 实验1和实验2的内容必须分成2个部分,文章的内容第一部分介绍实验1,第二部分介绍实验2,两部分内容不要互相引用。
  • 文档写的清晰加分
  • RTL画的结构合理加分
  • 代码结构清晰的加分(所有代码放在一个module里的差评)
  • 代码排版优美注释明确加分
  • 如果能够把计数过程上传到某个视频网站,发作业时提供链接,加分

猜你喜欢

转载自blog.csdn.net/duwt_lab/article/details/53365458