在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2096|回复: 2

菜鸟问

[复制链接]
发表于 2009-5-14 14:47:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

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 编辑 ]
仿真结果.JPG
发表于 2009-5-14 15:25:08 | 显示全部楼层
你的那个25M时钟是干什么的?

对于这个问题,简答点是写一个组合逻辑,而不是时序逻辑。
发表于 2009-5-14 16:28:38 | 显示全部楼层
不应该用CPU_SCL去锁存CPU_SCL本身,不要使用同步时序设计,直接做组合逻辑4-1即可。
如果一定要使用同步时序设计,则时钟信号至少要比被锁存的信号频率高1倍。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 22:25 , Processed in 0.018163 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表