|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我的问题是这样,一个输入端,输入为CPU_SCL时钟,四个输出端(SFP_SCL[0:3]),选通时输出要求为和SCL一样的时钟,只是通过一个四选一的多路器来控制。当选择其中一个输出端输出时,输出为SCL时钟,其它三路为全1。
我写的程序如下:
`timescale 1ns/100ps
module scl(EPLD_CLK_25M,SYS_RESET,MUX_SEL,CPU_SCL,SCL0,SCL1,SCL2,SCL3);
input EPLD_CLK_25M;
input SYS_RESET;
input [1:0] SFP_MUX_SEL;
input CPU_SCL;
output SFP_SCL0;
output SFP_SCL1;
output SFP_SCL2;
output SFP_SCL3;
reg SFP_SCL0;
reg SFP_SCL1;
reg SFP_SCL2;
reg SFP_SCL3;
always@(negedge CPU_SCL)
begin
if(SYS_Reset == 1'b0)
begin
SFP_SCL0 <= 1;
SFP_SCL1 <= 1;
SFP_SCL2 <= 1;
SFP_SCL3 <= 1;
end
else
case(SFP_MUX_SEL)
2'b00:
begin
SFP_SCL1 <= 1;
SFP_SCL2 <= 1;
SFP_SCL3 <= 1;
SFP_SCL0 <= CPU_SCL;
end
2'b01:
begin
SFP_SCL0 <= 1;
SFP_SCL2 <= 1;
SFP_SCL3 <= 1;
SFP_SCL1 <= CPU_SCL;
end
2'b10:
begin
SFP_SCL0 <= 1;
SFP_SCL1 <= 1;
SFP_SCL3 <= 1;
SFP_SCL2 <= CPU_SCL;
end
2'b11:
begin
SFP_SCL0 <= 1;
SFP_SCL1 <= 1;
SFP_SCL2 <= 1;
SFP_SCL3 <= CPU_SCL;
end
endcase
endmodule
仿真的结果见附件,不能按要求输出CPU_SCL,不知为什么?
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg
[ 本帖最后由 mikelee7821 于 2009-5-14 14:55 编辑 ] |
|