verilog HDL语言懂的,帮忙我看看程序
1.moduleIc40161(Q,RCO,D,CLK,ET,EP,LD,CR)2.output[3:0]Q,RCO;3.Input[3:0]D,LD,CLK,ET,EP...
1. module Ic40161(Q,RCO,D,CLK,ET,EP,LD,CR)
2. output [3:0]Q,RCO;
3. Input [3:0]D,LD,CLK,ET,EP,CR;
4. wire EN;
5. assign EN=ET&EP;
6. reg [3:0]Q;
7. always@(posedge CLK or negedge CR)
8. begin if(!CR)Q=4’b0000;
9. else if(!LD)Q=D;
10. else if(EN)
11. begin if(Q==15)Q=0;
12. else Q=Q+1;
13. end
14. end
15. assign RCO=(Q==4’b1111&EN)?1:0;
16. endmodule
17. module veda3(CO,Q,CLK,CR)
18. output [3:0]Q,CO;
19. input CLK,CR;
20. wire VCC,GND,I2,I1;
21. assign VCC=1;GND=0;CO=I1;
22. wire ET,EP,[3:0]Q;
23. // module Ic40161(Q,RCO,D,CLK,ET,EP,LD,CR)
24. Ic40161 u1(.D(GND),.Q(Q),.LD(I2), .CLK(CLK),.CR(CR),.ET(VCC),.EP(VCC));
25. not u2(I1,I2);
26. nand u3(I2,Q[3],Q[0]);
27. endmodule
问题1.第15行的assign 后面不是要接线网型变量么,然而RCO在前面没有定义,可以这样用么?
问题2.第24行小括号中的信号线名必须在本模块中定义,但是CR,CLK,可以不用wire定义,直接使用么? 展开
2. output [3:0]Q,RCO;
3. Input [3:0]D,LD,CLK,ET,EP,CR;
4. wire EN;
5. assign EN=ET&EP;
6. reg [3:0]Q;
7. always@(posedge CLK or negedge CR)
8. begin if(!CR)Q=4’b0000;
9. else if(!LD)Q=D;
10. else if(EN)
11. begin if(Q==15)Q=0;
12. else Q=Q+1;
13. end
14. end
15. assign RCO=(Q==4’b1111&EN)?1:0;
16. endmodule
17. module veda3(CO,Q,CLK,CR)
18. output [3:0]Q,CO;
19. input CLK,CR;
20. wire VCC,GND,I2,I1;
21. assign VCC=1;GND=0;CO=I1;
22. wire ET,EP,[3:0]Q;
23. // module Ic40161(Q,RCO,D,CLK,ET,EP,LD,CR)
24. Ic40161 u1(.D(GND),.Q(Q),.LD(I2), .CLK(CLK),.CR(CR),.ET(VCC),.EP(VCC));
25. not u2(I1,I2);
26. nand u3(I2,Q[3],Q[0]);
27. endmodule
问题1.第15行的assign 后面不是要接线网型变量么,然而RCO在前面没有定义,可以这样用么?
问题2.第24行小括号中的信号线名必须在本模块中定义,但是CR,CLK,可以不用wire定义,直接使用么? 展开
1个回答
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询