Calendar 制作日历,在VHDL中显示月数和月天数?

Calendar 制作日历,在VHDL中显示月数和月天数?,calendar,vhdl,fpga,encoder,decoder,Calendar,Vhdl,Fpga,Encoder,Decoder,问题:制作显示月数和月天数的日历? 以组合和顺序VHDL结构编写 我对这个VHDL是新手,星期一我有一个测验。。有人知道从哪里开始以及如何开始用VHDL编写程序吗? 任何帮助都将不胜感激 谢谢这里有一些东西可以让你开始你的作业。它接受月份1-12的二进制值,以及是否为闰年,并输出该月份的天数。这是在没有时钟的情况下完成的(组合/异步逻辑) 我认为您可以根据任务要求,确定使用顺序语句创建替代实现的最佳方法 library ieee; use ieee.std_logic_1164.all; use

问题:制作显示月数和月天数的日历? 以组合和顺序VHDL结构编写

我对这个VHDL是新手,星期一我有一个测验。。有人知道从哪里开始以及如何开始用VHDL编写程序吗? 任何帮助都将不胜感激


谢谢

这里有一些东西可以让你开始你的作业。它接受月份1-12的二进制值,以及是否为闰年,并输出该月份的天数。这是在没有时钟的情况下完成的(组合/异步逻辑)

我认为您可以根据任务要求,确定使用顺序语句创建替代实现的最佳方法

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity Days_In_Month is
   port (
      I_MONTH         : in  unsigned(3 downto 0);
      I_LEAP_YEAR     : in  std_logic;
      O_DAYS_IN_MONTH : out unsigned(4 downto 0)
      );
end entity Days_In_Month;

architecture Days_In_Month_combinatorial of Days_In_Month is

   signal month_30d : std_logic;
   signal month_28d : std_logic;
   signal month_31d : std_logic;
   signal month_29d : std_logic;

begin

   month_30d <= '1' when I_MONTH = 9 or
                         I_MONTH = 4 or
                         I_MONTH = 6 or
                         I_MONTH = 11
                    else '0';

   month_28d <= '1' when I_MONTH = 2 and
                         I_LEAP_YEAR = '0'
                    else '0';
   month_29d <= '1' when I_MONTH = 2 and
                         I_LEAP_YEAR = '1'
                    else '0';
   month_31d <= '1' when month_30d = '0' and
                         month_28d = '0' and
                         month_29d = '0'
                    else '0';

   O_DAYS_IN_MONTH <= to_unsigned(30,O_DAYS_IN_MONTH'length) when month_30d = '1' else
                      to_unsigned(28,O_DAYS_IN_MONTH'length) when month_28d = '1' else
                      to_unsigned(29,O_DAYS_IN_MONTH'length) when month_29d = '1' else
                      to_unsigned(31,O_DAYS_IN_MONTH'length) when month_31d = '1'
                      else to_unsigned(0,O_DAYS_IN_MONTH'length);                   

end architecture Days_In_Month_combinatorial;
ieee库;
使用ieee.std_logic_1164.all;
使用ieee.numeric_std.all;
月内实体天数为
港口(
I_月:未签名(3到0);
闰年:标准逻辑;
O_天\u月内:输出未签名(4到0)
);
月末实体天数(以月为单位);
架构月内天数的组合为
信号月\u 30d:标准\u逻辑;
信号月28d:标准逻辑;
信号月\u 31d:标准\u逻辑;
信号月29d:标准逻辑;
开始

除了上面提到的非常模糊的问题外,我认为这个问题没有错。当然,人们可以用VHDL实现日历,并将其输出到各种接口,例如一个简单的7段显示器?您的设计如何知道今天是哪一天?您是否需要能够在启动日历后对其进行编程?我的第二个问题是,预期的输出是什么,格式是什么?@Josh是的,我必须在VHDL上设计一个日历,以便使用XilinxISE软件,我仍然不知道如何编写编程代码,这就是为什么我向这个Q寻求帮助。我知道VHDL是VHSIC-HDL,用于电子设备的建模和仿真。我的问题是:你必须设计一个系统来计算月数&确定一年中每月的天数。a:对输入和输出使用编码(如果需要)b:使用组合和顺序VHDL结构作为两个单独的设计来设计系统。我认为输入是月数,输出是天数。好的,所以任务是。。。您收到月数(1-12)的输入,您需要输出该月的天数(1-31)?你需要考虑闰年吗?是的,月数是我们的输入,是(1-12)&天数是我们的输出(1-31),是的,是闰年。