RTL viewer,三位mux21怎么传给两位寄存器?

[复制链接]
5227|13
 楼主| mathematical 发表于 2012-4-25 08:19 | 显示全部楼层 |阅读模式
右侧寄存器是两位的,但是mux21的dataA接收三位数据,如图中红框所示,三位的数据怎么能传给两位的寄存器呢?

本帖子中包含更多资源

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

×
Backkom80 发表于 2012-4-25 08:47 | 显示全部楼层
1,mux不是三位的,mux是2位的,A端有一位是前一个FF的输出,另一位是那根粗线中的一位。B端是2个0。
2,LEDOUT是三位的,一位是rLEDout[0]另二位是mux输出的二位。

如果你确定你描述的是对的,那这个地的逻辑被软件给优化了。
 楼主| mathematical 发表于 2012-4-25 11:24 | 显示全部楼层
2# Backkom80
“另一位是那根粗线中的一位”我的问题就是在这,这个粗线是从后面的FF即rLED_Out[2,1]引出来的,而rLED_Out[2,1]明明是两位啊,难道说quartus ii的RTL viewer只能显示到这种程度(即不显示具体是后面的FF把哪一位给了mux21),只是根据verilog代码的出正确的结果,RTL viewer就不显示了那么清楚了?
  reg [2:0]rLED_Out;
  
  always @ ( posedge CLK or negedge RSTn )
      if( !RSTn )
        rLED_Out <= 3'b001;
    else if( Count_MS == 10'd100 )
        begin
   
            if( rLED_Out == 3'b000 )
            rLED_Out <= 3'b001;
          else
                rLED_Out <= { rLED_Out[1:0], 1'b0 };
      end
PS:这是一个国内教程上的例题,不是我自己编的程序
Backkom80 发表于 2012-4-25 19:03 | 显示全部楼层
code没有问题,一个流水灯小代码。
那就是Q2优化了代码的逻辑。
sxhhhjicbb 发表于 2012-4-25 21:07 | 显示全部楼层
原则是:低位对齐.

评分

参与人数 1威望 +1 收起 理由
mathematical + 1

查看全部评分

GoldSunMonkey 发表于 2012-4-25 22:24 | 显示全部楼层
嗯,有点拼接的意思,我觉得。
这个东西没有必要深究
 楼主| mathematical 发表于 2012-4-26 12:49 | 显示全部楼层
5# sxhhhjicbb
+1
 楼主| mathematical 发表于 2012-4-26 12:50 | 显示全部楼层
6# GoldSunMonkey
得到了版主的关注...
 楼主| mathematical 发表于 2012-4-29 10:52 | 显示全部楼层
4# Backkom80
今天看别的图找到了这个,原来Q2不是隐式地优化,而是为了让用户把图看的更清楚所以默认情况下是不显示的
tools->options->show net name
 楼主| mathematical 发表于 2012-4-29 10:56 | 显示全部楼层
5# sxhhhjicbb
我从别的例子发现并不总是低位对齐...
tools->options->show net name 这个方法可以看清触发器是传了哪位
 楼主| mathematical 发表于 2012-4-29 11:02 | 显示全部楼层
6# GoldSunMonkey
没必要深究?那请问您这个图我怎么知道译码器如何控制输出呢?

本帖子中包含更多资源

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

×
sxhhhjicbb 发表于 2012-5-2 22:26 | 显示全部楼层
本帖最后由 sxhhhjicbb 于 2012-5-2 22:31 编辑

12# mathematical
偶一般不查看RTL图的,如果你可以找出反例,可以仿真出来。我相信编译器一致性还是可靠的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

98

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部