0

我已经使用verilog进行了一个项目。我们有两个 4 位数字,一个多路复用器(S0,S1)和四个模块(加法器,减法器,and,xor)。输出为 4 位。我认为这似乎很简单。我编写了一个verilog代码,其中包含所有这些作为模块。我已将引脚分配给 DE0 板。如您所见,可以在 LED 上看到输出。没有问题。但是,如何在七段显示器而不是 LED 上显示输出?但是,结果应该是十六进制而不是二进制。我也有大约七段显示器的引脚,所以我想我会像 LED 一样实现它们。我是verilog的新手。这将是我的第一个程序。

  • 如果 S 为 0 (00),加法器结果将显示在 LED 上。
  • 如果 S 为 1 (01),减法结果将显示在 LED 上。
  • 如果 S 为 2 (10),则“与”运算结果将显示在 LED 上。
  • 如果 S 为 3 (11),则异或运算结果将显示在 LED 上。

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

七段显示器实际上只有 7 个 LED 灯,呈 8 字形(第 8 个 LED 用于小数点)。因此,您只需将连接到显示器的该段的引脚驱动为低电平即可点亮该段(有关连接到七段显示器的引脚,请参见 DE0 手册第 4.3 节:ftp://ftp.altera .com/up/pub/Altera_Material/Boards/DE0/DE0_User_Manual.pdf)。现在,这意味着您可以控制每个段,但仅将 4 位数字驱动到显示器不会产生您可以轻松阅读的内容。为此,您需要将 4 位值转换为 7 位值来表示模式以点亮七段(即,如果您的输出为4'b0001,您希望您的七段显示 1,因此您需要将4'b0001成一个 7 位的值,这将导致显示 1)。我认为这是一个值得你在学习 Verilog 时接受的设计挑战,所以我不会提供 4 位到 7 段显示模块的代码。但是,如果您在创建自己的问题时遇到任何问题;随时对此答案发表评论,我们可以尝试提供帮助。或者如果它是一个大问题,请提出一个新问题。

于 2015-10-07T19:03:33.357 回答