- UID
- 159682
- 性别
- 男
|
我刚学QUARTUS,编了一个程序,但是综合的时候出错,怎么改都该不了,希望哪位能帮看看,谢谢了~~~ module register(Din,Dout,RA,WR,RD,WP,RST,RB,CP,M,ALE,OE,ADR); input [7:0] Din; //8位双向数据输入输出 input [1:0] RA; //寄存器选择 input RD,WR,RB,WP,CP,ALE,RST,M,OE; output [7:0] Dout; output [15:0] ADR; reg [7:0] R0,R1,R2,R3,Dout,PCH,PCL; reg [15:0] PC,Q,ADR; always @(negedge WR) //8位通用寄存器组的输入 case(RA) 2'b00:R0=Din; 2'b01:R1=Din; 2'b10:R2=Din; 2'b11:R3=Din; endcase always @(negedge RD) //8位通用寄存器组的输出 case(RA) 2'b00out=R0; 2'b01out=R1; 2'b10out=R2; 2'b11out=R3; endcase always @(negedge WP) //PC寄存器的预置,分两次进行 if(!RB) PC[7:0]=Din; else PC[15:8]=Din; always @(negedge RST or posedge CP) begin if(!RST) PC=16'b0; //pc清零 else if(!M) PC=PC+1; //pc加1 else PC=PC-1; //pc减1 end always @(posedge ALE or negedge OE) begin if(ALE) Q=PC; //pc内容锁存 else if(!OE) ADR=Q; //锁存器输出到地址线 end endmodule 错误是PC预置那,错误有下面几项: can't reslove multiple constant drivers for net PC[15] ; can't elaborate top-level user hierarch
|
|