quartus的错误报告如下,请问有哪位大大可以帮忙解释一下

Error (10818): Can't infer register for "vs" at LCD.vhd(78) because it does not hold its value outside the clock edge

输入clk,分频后得到signal clk_div,然后错误位置是:
process (clk_div)
begin
if (rising_edge(clk_div)) then

是不是clk_div不能再process里用啊?

原因:赋值语句的逻辑混乱,由于条件判断语句采用了非阻塞赋值,容易产生逻辑混乱。
解决方法:将非阻塞赋值“<=”改成阻塞赋值“=”,并不是任何情况下都是用非阻塞赋值好,阻塞和非阻塞适用于不同环境,根据环境要求选择赋值方式
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-23
Can't infer register for "vs" at LCD.vhd(78)
because it does not hold its value outside the clock edge

寄存器不能保持它的值,在时钟边沿之外。。。

看看有没有vs寄存器啊?多贴点代码出来啊追问

123

本回答被网友采纳
相似回答