首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VHDL时钟分频器在板上工作,但在仿真中失败。

VHDL时钟分频器在板上工作,但在仿真中失败。
EN

Stack Overflow用户
提问于 2014-04-10 19:19:09
回答 1查看 290关注 0票数 0

我目前正在尝试使用VHDL来设计一个交通灯控制器,我正在Altera EPM240T100C5上编程,它有一个自定义扩展板来显示交通灯。由于板上最慢的时钟设置仍然比我想的要快,所以我需要写一个分频器,我也是这样做的:

代码语言:javascript
复制
LIBRARY ieee;
USE ieee.std_logic_1164.all; 

entity clockdivider is 
    port
    (
        clkin :  in  std_logic;
        dividedclk :  out  std_logic
    );
end clockdivider;

architecture divider of clockdivider is 

signal  J :  std_logic;
signal  K :  std_logic;


begin
J <= '1';
K <= '1';


process(clkin)
variable tempdividedclk : std_logic;
begin
if (rising_edge(clkin)) then
    tempdividedclk := (NOT(tempdividedclk) AND J) OR (tempdividedclk AND (NOT(K)));
end if;
    dividedclk <= '0';
    dividedclk <= tempdividedclk;
end process;

END divider;

这在板上运行很好,但是在模拟器(ModelSim)中,“分离的the”输出从来没有初始化到任何东西。我想知道有没有人知道为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-10 19:29:56

在模拟开始时,将"tempdividedclk“初始化为"unitialized”。当时钟边缘出现时,tempdividedclk将被分配给(不是(U )和1)或(U和0),这是“未定义的”。若要正确模拟,必须通过重置或仅在模拟级别初始化tempdividedclk。它可以在硅上找到,因为"U“状态要么是1,要么是0。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22997110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档