我对 vhdl 中的当前时间有一些疑问
i have some problem about current time in vhdl
我是最近第一个入手vhdl的同学。目前正在开发FPGA板。
我希望每当我按下 RESET 按钮时,我的七段表就会有当前时间。有办法解决吗?
我整天都在搜索计算器。但我找不到解决方案..
-- 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?
我认为无法获取系统的当前时间(考虑到本论坛其他人的尝试/问题)。所以也不可能使用 reset 来获取当前时间。
看看也许有用here
有人已经用 RTC 以不同的方式尝试过(成功):
- here non-manually 设置时钟
- here 手动设置时钟
在 HDL 中,您只能使用来自外部参考的一些计数器 运行 来跟踪经过的时间:具有已知频率的时钟信号。
您始终必须通过初始化1 您的计数器寄存器来设置电流 date/time。设置 time/date 通常是通过 CPU 界面完成的。这意味着您需要一个 CPU 从某个地方获取时间(一个 real-time 时钟或与外界的连接),然后以某种格式将时间写入您的寄存器。
1即使您的 FPGA 有备用电池:它总是必须至少在第一次设置。
我是最近第一个入手vhdl的同学。目前正在开发FPGA板。 我希望每当我按下 RESET 按钮时,我的七段表就会有当前时间。有办法解决吗?
我整天都在搜索计算器。但我找不到解决方案..
-- 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?
我认为无法获取系统的当前时间(考虑到本论坛其他人的尝试/问题)。所以也不可能使用 reset 来获取当前时间。
看看也许有用here
有人已经用 RTC 以不同的方式尝试过(成功): - here non-manually 设置时钟 - here 手动设置时钟
在 HDL 中,您只能使用来自外部参考的一些计数器 运行 来跟踪经过的时间:具有已知频率的时钟信号。
您始终必须通过初始化1 您的计数器寄存器来设置电流 date/time。设置 time/date 通常是通过 CPU 界面完成的。这意味着您需要一个 CPU 从某个地方获取时间(一个 real-time 时钟或与外界的连接),然后以某种格式将时间写入您的寄存器。
1即使您的 FPGA 有备用电池:它总是必须至少在第一次设置。