Error: Can't elaborate user hierarchy "" verilog编程出现这个错误怎么办

如题所述

因为同时检测两个信号的状态,会导致发生错误。以下是正确代码:

reg [ 25:0 ] count_del ;
always @ ( posedge clk or negedge rst_n )
if(!rst_n )
count_del<=26'h0000000 ;
else if ( key_out[1] )
count_del<=26'h0000000 ;
else if(count_del==26'd50000001)
count_del <= 26'h0000000 ;
else count_del <= count_del+1 ;

对计算机软件的维护主要有以下几点:

(1)对所有的系统软件要做备份。当遇到异常情况或某种偶然原因,可能会破坏系统软件,此时就需要重新安装软件系统,如果没有备份的系统软件,将使计算机难以恢复工作。

(2)对重要的应用程序和数据也应该做备份。

(3)经常注意清理磁盘上无用的文件,以有效地利用磁盘空间。

(4)避免进行非法的软件复制。

(5)经常检测,防止计算机传染上病毒。

(6)为保证计算机正常工作,在必要时利用软件工具对系统区进行保护。

总之,计算机的使用是与维护分不开的,既要注意硬件的维护,又要注意软件的维护。

温馨提示:内容为网友见解,仅供参考
第1个回答  2021-11-16
因为敏感量不建议把边沿触发和电平触发放一起,把两个敏感量都加上边沿触发就行了
第2个回答  2020-04-13
我再来补充一点
我是把触发信号写在了一个同步信号的后面,造成的.

你需要先判断触发信号,再判断同步信号.本回答被网友采纳
第3个回答  推荐于2018-02-26
我遇到和你一样的问题,我出错的地方是在我的模块中if判断时判断了两个always触发信号,在一个if里不要判断两个以上的always触发信号。检查一下模块代码看是否有这种情况,更改一下应该可以编译通过。本回答被网友采纳
第4个回答  2017-10-01
我的错误是因为在always敏感信号里边没有判断复位

verilog编程显示“Can't elaborate user hierarchy ”怎么办?
(1)对所有的系统软件要做备份。当遇到异常情况或某种偶然原因,可能会破坏系统软件,此时就需要重新安装软件系统,如果没有备份的系统软件,将使计算机难以恢复工作。(2)对重要的应用程序和数据也应该做备份。(3)经常注意清理磁盘上无用的文件,以有效地利用磁盘空间。(4)避免进行非法的软件复制。(5)经...

Error: Can't elaborate top-level user hierarchy
你定义的m,n是信号,信号是不能重复赋值的。最基本的,你先得奖mn定义为变量variable,变量的赋值语句为:= 不能用<= <=是信号的赋值。其他的有没有错我就没看了。

vhdl代码 Error: Can't elaborate top-level user hierarchy
实体名字: exp_RAM 与你的工程名不一样。

verilog语言 Can't elaborate top-level user hierarchy怎么改
改成如下,综合就该就没有错误了吧 module cnt2(CLK,RST,EN,LOAD,COUT,DOUT,DATA);input CLK,EN,RST,LOAD;input [7:0]DATA;output [7:0] DOUT;output COUT;reg [7:0] Q1;reg cout_r;always@(posedge CLK or negedge RST) begin if (~RST) Q1<= 8'b0;else if (~LOAD) Q1<=DATA...

用VHDL编程时总是出现这样的错误
解决的办法可以如下,将clk1和key2 增加一级状态 lcx 寄存,通过对 clk1或key2 和lcx状态判断上跳与否,改正程序如下:signal lcx:std_logic;signal a,count3:integer;begin process(en,clk)begin if en='1' then if clk'event and clk='1' then lcx<=clk1;if lcx='0' and clk1='1' ...

关于Verilog hdl 中循环语句forever编译错误的疑问。
Verilog 这个语言有两个部分,一部分是可综合的用来生成电路,一部分是不可综合的用来写testbench(测试脚本)。你贴的程序是不能综合的那部分,是testbench。不能综合的那部分非常的接近C语言,适合写测试文件。我在网上看了一下,你是参考的《基于Verilog HDL设计的多功能数字钟》这篇论文 你贴的这...

这个怎么改Error: Can't find Memory Initialization File or Hexadecim...
你可以下载个FPGA的波形生成小插件,生成一个hex或者mif文件,然后在dspbuilder的存储器中加载就可以了。如果不会就直接搜索FPGA生成mif文件,就有相关的教程了

verilog 里面 在always 下有两个 if 语句 就出现如下错误 高手请进
verilog对边沿触发的逻辑有规定:你写了negedge rst,就必须在always内的第一个if中写~rst的逻辑。就是你把if(en)写在rst下面就好了。这样综合时推断的是一个异步复位的寄存器。--- 为什么语法要这么规定我也不知道。@()里面的第一项是时钟定义,第二项和第三项(如果有的话)是异步复位和异步置...

为什么再用verilog编写程序时,always@(posedge clock or reset)语句是...
同一个always语句的触发条件,也就是@后面的内容必须统一,要么为沿触发,要么为组合逻辑数值改变触发,这是规定。要么写成always @ (posedge clk or negedge rst)要么写成always @ (*)

为什么VHDL不能用always @(posedge clk or negedge reset)
你这是verilog,不是VHDL,你的always里面是if(reset==1),这个判断需要posedge reset来实现,像你这样写的negedge reset,就得判断if(reset==0)

相似回答