[USF-XSim-62] ‘elaborate‘ step failed with errors.[Vivado 12-4473] Detected error while running sim

这篇具有很好参考价值的文章主要介绍了[USF-XSim-62] ‘elaborate‘ step failed with errors.[Vivado 12-4473] Detected error while running sim。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

[USF-XSim-62] ‘elaborate’ step failed with error(s). Please check the Tcl console output .and

[Vivado 12-4473] Detected error while running simulation. Please correct the issue and retry this operation.

出现的问题如下:
usf-xsim-62,新手常见错误,硬件工程
翻译出来:[USF-XSim-62] 'elaborate’步骤失败,出现错误。请检查Tcl控制台输出或’D:/vivado/fortest/fortest.sim/sim_1/behav/xsim/ elaboration .log’文件以获取更多信息。
[Vivado 12-4473] 运行模拟时检测到错误请纠正此问题并重试此操作。

查找问题的方法

方法一:在Vivado 中的Messages无法看到详细信息,但是在报错的后面,会显示日志的路径,打开D:/vivado/fortest/fortest.sim/sim_1/behav/xsim/ elaboration .log,我们可以看到ERROR: [VRFC 10-3180] cannot find port ‘extreme_result’ on this module ,修改错误
usf-xsim-62,新手常见错误,硬件工程
方法二:在Vivado 中的log窗口直接看到详细信息,找到错误,然后修改。
usf-xsim-62,新手常见错误,硬件工程
我的错误是仿真文件中,例化的功能文件端口名错误。

8位的两个数比较大小

module extreme_8bit(
    extreme0,
    extreme1,
    DataSign,
    SubType,
    extreme_Result    
    );
 
input [7:0]          extreme0;//参加最值比较的向量操作数1
input [7:0]          extreme1;//参加最值比较的向量操作数2
input                DataSign;//0:无符号;  1:有符号
input                SubType;//0:寻找最大值max;1:寻找最小值min
output  reg [7:0]   extreme_Result;//最终的结果   
reg                 extreme_c_carry;
wire                carry;
wire [7:0]          extreme_sum;
wire [7:0]          temp_extreme0,temp_extreme1;//寻找最值时,无符号最高位相同时,虚拟构建的两个数 
reg  [7:0]          add_extreme0,add_extreme1;//进入加法器的进行相减运算的操作数
reg  [7:0]          min,max;
assign temp_extreme0={1'b1,extreme0[6:0]};
assign temp_extreme1={1'b0,extreme1[6:0]};    


always @(*)begin
extreme_c_carry = 1'b1;
    if(DataSign==0)begin//0:无符号
    {add_extreme0,add_extreme1} = {temp_extreme0,~temp_extreme1};
        if(SubType==0)begin//0:寻找最大值max,即 无符号向量同宽整数归约最大
            if(extreme0[7]!=extreme1[7]) begin //确定输入的数据最高位不一致 
                if(extreme0[7]==1) begin//extreme0>extreme1
                    max <= extreme0;
					extreme_Result <= max;
				end 
				else begin //extreme0[7]==0;extreme1[7]==1;extreme0<extreme1
					max <= extreme1;
					extreme_Result <= max;
				end 
            end
            else begin//extreme0[7]==extreme1[7]输入的数据最高位相同,去除最高位做差
                if(extreme_sum[7]==1)begin//extreme0>extreme1,相减时,最高位没有发生借位,最高位构建的1任然是1
				    max <= extreme0;
				    extreme_Result <= max;							
				end 
				else begin//extreme_sum[7]==0,extreme0<extreme1,,相减时,最高位发生了借位,构建的1变为了0
				    max <= extreme1;
				    extreme_Result <= max;	
				end
            end
        end
        else begin//SubType==1,1:寻找最小值min,即 有无符号向量同宽整数归约最小 
            if(extreme0[7]!=extreme1[7]) begin //确定输入的数据最高位不一致 
                if(extreme0[7]==1) begin//extreme0>extreme1 
					min <= extreme1;
					extreme_Result <= min;
				end 
				else begin //extreme0[7]==0;extreme1[7]==1;extreme0<extreme1
                    min <= extreme0;
					extreme_Result <= min;
				end 
            end
            else begin//extreme0[7]==extreme1[7]输入的数据最高位相同,去除最高位做差
                if(extreme_sum[7]==1)begin//extreme0>extreme1,相减时,最高位没有发生借位,最高位构建的1任然是1
				    min <= extreme1;
					extreme_Result <= min;							
				end 
				else begin//extreme_sum[7]==0,extreme0<extreme1,,相减时,最高位发生了借位,构建的1变为了0
				    min <= extreme0;
					extreme_Result <= min;
				end
            end
        end    
    end

    else begin//DataSign==1,1:有符号
    {add_extreme0,add_extreme1} = {extreme0,~extreme1};
        if(SubType==0)begin//0:寻找最大值max,即 有符号向量同宽整数归约最大
            if(extreme0[7]!=extreme1[7])begin//异号的两个数,最高位不一致情况下判断谁为整数最大                    
                if(extreme0[7]==1) begin//extreme0是负数
					max <= extreme1;
					extreme_Result <= max;
				end 
				else begin //extreme1是负数
					max <= extreme0;
					extreme_Result <= max;
				end                                          
            end
            else begin//同号(同正或者同负)的两个数,最高位一致情况下判断谁为整数最大
                if(extreme_sum[7]==1)begin//extreme0<extreme1,相减结果为负
				    max <= extreme1;
				    extreme_Result <= max;							
				end 
				else begin//extreme_sum[7]==0,extreme0>extreme1,相减结果为正
				    max <= extreme0;
				    extreme_Result <= max;	
				end
            end
        end
        else begin//SubType==1,1:寻找最小值min,即 有符号向量同宽整数归约最小      
            if(extreme0[7]!=extreme1[7])begin//异号的两个数,最高位不一致情况下判断谁为整数最小                    
                if(extreme0[7]==1) begin//extreme0是负数
					min <= extreme0;
					extreme_Result <= min;
				end 
				else begin //extreme1是负数
					min <= extreme1;
					extreme_Result <= min;
				end                                          
            end
            else begin//同号(同正或者同负)的两个数,最高位一致情况下判断谁为整数最小  
                if(extreme_sum[7]==1)begin//extreme0<extreme1,相减结果为负
				    min <= extreme0;
				    extreme_Result <= min;							
				end 
				else begin//extreme_sum[7]==0,extreme0>extreme1,相减结果为正
				    min <= extreme0;
				    extreme_Result <= min;	
				end
            end        
        end    
    end    
end    
    
RISCV_8BIT_REDADD extreme(
    .o_sum(extreme_sum),
    .o_cout(carry),
    .i_a(add_extreme0),
    .i_b(add_extreme1),
    .i_cin(extreme_c_carry)
);   
                             
endmodule

多位宽划分成8位的数比较大小

module extreme_8bit_256( 
    extreme0,
    extreme1,
    DataSign,
    SubType,
    extreme_temp,
    extreme_result256    
    );
parameter M = 16; //VLEN = 256 ; 
parameter N = 8; //SEW = 8 ;  
 
input    [M-1:0]            extreme0;//参加最值比较的向量操作数1
input    [M-1:0]            extreme1;//参加最值比较的向量操作数2
input    [1:0]              DataSign;//x0:无符号;  x1:有符号
input    [2:0]              SubType;//0:寻找最大值max;1:寻找最小值min
output   [M-1:0]            extreme_temp;
output   [N-1:0]            extreme_result256;//最终的结果   

extreme_8bit extreme_8bit_inst0(
    .extreme0(extreme0[N-1:0]),
    .extreme1(extreme1[N-1:0]),
    .DataSign(DataSign[0]),
    .SubType(DataSign[0]),
    .extreme_Result(extreme_temp[N-1:0])   
    );   
    
    genvar i;
    generate 
    for(i = 0;i < 1;i = i + 1)begin
    extreme_8bit extreme_8bit_inst(
    .extreme0(extreme_temp[i*N+N-1:i*N]),
    .extreme1(extreme1[(i+1)*N+N-1:(i+1)*N]),
    .DataSign(DataSign[0]),
    .SubType(SubType[0]),
    .extreme_Result(extreme_temp[(i+1)*N+N-1:(i+1)*N])
    );
    
    assign extreme_result256[N-1:0] = extreme_temp[M-1:M-N];
    end
    
endgenerate 

endmodule

仿真文件(之前文件报错,是因为例化extreme_8bit_256模块的时候,端口extreme_result256错误写成extreme_result,所有显示没有找到端口extreme_result)文章来源地址https://www.toymoban.com/news/detail-609215.html

module fortest_tb(    );
parameter M = 16; //VLEN = 256 ; 
parameter N = 8; //SEW = 8 ;  
   
    reg    [M-1:0]         extreme0;
    reg    [M-1:0]         extreme1;
    reg    [1:0]           DataSign;//0:无符号;  1:有符号
    reg    [2:0]           SubType;//0:寻找最大值max;1:寻找最小值min  
    wire   [M-1:0]         extreme_temp;
    wire   [N-1:0]         extreme_result;   

    extreme_8bit_256 extreme_8bit_256_inst( 
    .extreme0(extreme0),
    .extreme1(extreme1),
    .DataSign(DataSign),
    .SubType(SubType),
    .extreme_temp(extreme_temp),
    .extreme_result256(extreme_result)    
    );

   initial  begin//DataSign;//x0:无符号;  x1:有符号  SubType;//xx0:max;  xx1:min
   extreme0 = 16'b0;
   extreme1 = 16'b0;
   DataSign = 2'b00;
   SubType = 3'b000;
   #100
   SubType = 3'b000;
   extreme0 =  16'b1010_0001_0001_0111;
   extreme1 =  16'b0100_0111_1010_0001;
   #100
   SubType = 3'b001;
   extreme0 =  16'b1010_0001_0001_0111;
   extreme1 =  16'b0100_0111_1010_0001;
   #100
   DataSign = 2'b01;
   SubType = 3'b000;
   extreme0 =  16'b1010_0001_0001_0111;
   extreme1 =  16'b0100_0111_1010_0001;
   #100
   SubType = 3'b001;
   extreme0 =  16'b1010_0001_0001_0111;
   extreme1 =  16'b0100_0111_1010_0001;
   end       
endmodule

到了这里,关于[USF-XSim-62] ‘elaborate‘ step failed with errors.[Vivado 12-4473] Detected error while running sim的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Graph of Thoughts: Solving Elaborate Problems with Large Language Models

    本文是LLM系列文章,针对《Graph of Thoughts: Solving Elaborate Problems with Large Language Models》的翻译。 我们介绍了思维图(GoT):这是一个框架,它将大型语言模型(LLM)中的提示能力提升到思维链或思维树(ToT)等范式之外。GoT的关键思想和主要优势是能够将LLM生成的信息建模为任

    2024年02月11日
    浏览(40)
  • Error: Request failed with status code 500

    vue axios 出现Error: Request failed with status code 500。 这代表着服务器端无法获取参数。(post接口) 我的问题是,接口要求content-type: multipart/form-data。 但是我写的data:{.....}不符合样式,所以在data前 得加下面得代码然后就成功了

    2024年02月13日
    浏览(53)
  • Error (12152): Can‘t elaborate user hierarchy

      这两种写法都不会出现问题。 但是如果改成  就会报出如下错误  主要看10200这个错误提示: cannot match operand(s) in the condition to the corresponding edges in the enclosing event control of the always construct 不能做到条件操作边缘模块和always中的边缘控制模块匹配,主要原因有人讲了,可以去

    2024年02月16日
    浏览(39)
  • 【阅读笔记】Graph of Thoughts: Solving Elaborate Problems with Large Language Models

    Website code: https://github.com/spcl/graph-of-thoughts 作者介绍了Graph of Thought (GoT):一个具备提高LLM提示能力,超越了思维链或思维树 (ToT) 等范式提供的能力的框架。GoT的关键思想和主要优势是能够将LLM生成的信息建模为任意图,其中信息单位(“LLM思想”)是顶点,而边对应于这些顶

    2024年02月10日
    浏览(50)
  • 解决error: link.exe‘ failed with exit status 1158

    因为之前的一些系统配置没了,重新安装例如vs,buildTools之类的东西,但是在安装过程中出现了许多问题,总是缺少东西,这里记录一下不好找的内容。 程序运行时提示 error: command ‘XXXVS2015VCBINx86_amd64link.exe‘ failed with exit status 1158 后台显示 我翻阅网上的解决方案,就是

    2024年02月05日
    浏览(61)
  • Manifest merger failed with multiple errors, see logs

    笔者进行Android 项目开发,修改 AndroidManifest.xml 代码后,控制台报错 AndroidManifest.xml 报错核心代码 1、打开 AndroidManifest.xml → rightarrow → 点击 AndroidManifest.xml 左下角 Merged Manifest 2、查看Error内容 3、按照错误提示修改 笔者由于重复声明 android.permission.READ_PHONE_STATE 权限,产生歧

    2024年02月19日
    浏览(41)
  • [k8s] error: Readiness probe failed: HTTP probe failed with statuscode: 503

    k8s issue:  error: Readiness probe failed: HTTP probe failed with statuscode: 503 explanation: Kubernetes为准备和活动探测返回HTTP 503错误的事实意味着到后端的连接可能有问题。 有趣的是,这不是重点。这些探针不是用来执行HTTP流的端到端测试的。探测只用于验证它们所监视的服务是否响应。 简

    2024年02月01日
    浏览(106)
  • 【Error】chaincode install failed with status: 500 - failed to invoke backing implementation xxx

    peer节点能够成功打包链码,但安装一直报错: bash-5.1# peer lifecycle chaincode install codecc.tar.gz Error: chaincode install failed with status: 500 - failed to invoke backing implementation of \\\'InstallChaincode\\\': could not build chaincode: docker build failed: docker image build failed: docker build failed: Error returned from build: 2 \\\"g

    2024年02月14日
    浏览(48)
  • 运行报错 ERROR Failed to compile with 1 error Syntax Error: Error: No ESLint configuration found

    报错信息: 方式一:打开package.json将以下代码删除,重新运行项目 yarn dev 删除 运行就可以了 方式二:打开vue.config.js加入以下代码 运行就可以了

    2024年04月28日
    浏览(39)
  • ERROR Failed to compile with 2 errors These relative modules were not found:

     提示在./node_modules/flatgeobuf/lib/mjs/packedrtree.js中找不到./config.js ./node_modules/flatgeobuf/lib/mjs/generic/featurecollection.js 中找不到../logger.js 如果是用vscode编写,按住ctrl+报错文件名 进入到该报错文件 根据引入  import Config from \\\'./config.js\\\' 去寻找路径\\\'./\\\'下有没有config.js文件 发现只有\\\"Conf

    2024年02月02日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包