我是最近第一个开始vhdl的学生。目前正在FPGA板上工作。 我希望每当我按RESET按钮时,我的七个段都将有当前时间。有办法解决吗?
我整天都在搜索stackoverflow。但我找不到解决办法。
-- Time information
constant HOUR_INT : integer := 00; -- I think we should put the current time in here.
constant HOUR_HEX : std_logic_vector(7 downto 0) := X"00";
constant MINUTE_INT : integer := 00;
constant MINUTE_HEX : std_logic_vector(7 downto 0) := X"00";
if reset = '0' then
hour <= conv_std_logic_vector(datetime.hour_int, 5)
在此代码比例下,为什么我必须在hout_int旁边输入5?
答案 0 :(得分:1)
在HDL中,您只能使用一些从外部参考运行的计数器来跟踪经过的时间:具有已知频率的时钟信号。
您总是必须通过初始化计数器寄存器的 1 来设置当前日期/时间。通常通过CPU接口来设置时间/日期。这意味着您需要一个CPU,它需要从某个地方(实时时钟或与外界的连接)获取时间,然后以某种格式将时间写入寄存器。
1 即使您的FPGA具有备用电池:始终必须至少在第一次设置它。
答案 1 :(得分:-1)