猿问

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

下面是我写的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)
begin
assign 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)
begin
merge3 t3(w1,r0,r1);
FP t4(w1,C);
end
end
end

endmodule

潇潇雨雨
浏览 72回答 2
2回答

DIEA

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

青春有我

wire [0:n] A; 中A[0]是最高位表示顺序不同而已
随时随地看视频慕课网APP

相关分类

Java
我要回答