【发布时间】:2013-11-28 02:17:28
【问题描述】:
我正在尝试使用带有启用信号 C 的 NAND 门的 SR 锁存器 对我的 NEXYS2 板进行编程。我的输入是 (S, R, C) 和 输出 是 (Q, Qbar)。下面是我尝试过的一些 VHDL 代码,但不断出错。如果这有助于任何人理解我的问题,下面的示意图也如下所示。如果您在verilog中知道它,那也没关系。 提前谢谢你
process(S,R,C,Q,Qbar)
begin
if (C = '1') then
Q <= (R nand Qbar);
Qbar <= (S nand Q);
end if;
end process;
【问题讨论】:
-
能否将您看到的错误消息添加到问题中?
-
if 给了我一个时钟错误,但我不知道为什么,因为我试图通过仅使用控制输入在没有时钟的情况下异步执行此操作
-
C输入可能被综合工具处理为“时钟”,因为C可以用作实现中推断锁存器的启用。综合工具并非用于处理具有此类循环的设计,并且可能会尝试通过推断锁存器来打破循环。我假设您的设计只是某种测试的一部分,因为这样的设计无法扩展到大型系统。