为了账号安全,请及时绑定邮箱和手机立即绑定

请问怎么把wire的值转换成constant, 并且这样写可行么?

请问怎么把wire的值转换成constant, 并且这样写可行么?

潇潇雨雨 2023-02-17 21:17:47
下面是我写的code, 要求是实现user控制计算的功能,当req=1的时候进行计算,req=0的时候停止, 但是编译提示说用if检测要用constant expression, module encrypt ( input wire clk,input wire req,output wire ack,input wire [63:0] K ,input wire [63:0] M ,output wire [63:0] C );wire [55:0] w0;wire [63:0] w1;wire [31:0] r0;wire [31:0] r1;wire [31:0] r2;wire [31:0] r3;wire [31:0] r4;split3 t0(r0,r1,M);PC1 t1(w0,k);begin if(req==1 && clk!=15)beginassign ack=1;round t2(r0,r2,r1,r3,w0,r4,clk);assign clk=clk+1; assign r0=r2;assign r1=r3;assign w0=r4;assign req=0;assign ack=0;if(clk==15)beginmerge3 t3(w1,r0,r1);FP t4(w1,C);endendendendmodule
查看完整描述

2 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

wire只要定义之后便可以将它与常数比较或者赋值。
但是你这个地方的clk定义的是1位wire,不是0就是1,你怎么可能if(clk==15)呢,
这个地方肯定不行。
wire [3:0] clk;之后才可以这样用

查看完整回答
反对 回复 2023-02-20
?
青春有我

TA贡献1784条经验 获得超8个赞

wire [0:n] A; 中A[0]是最高位
表示顺序不同而已

查看完整回答
反对 回复 2023-02-20
  • 2 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信