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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3593|回复: 7

[求助] RTL原理图中,WideOr不能引出三根线吗?

[复制链接]
发表于 2012-11-5 01:21:19 | 显示全部楼层 |阅读模式

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

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

x
图中,WideOr1和WideOr2完全一样,为什么不是用一个WideOr引出三根线呢?(图下面是相关code)

b.PNG






  1. module Case_module
  2. (
  3. CLK,RSTn,
  4. X,
  5. Y
  6. );
  7. input CLK,RSTn;
  8. input [7:0]X;
  9. output [7:0]Y;reg [7:0]x;
  10. reg [7:0]y;reg [3:0]i;always @(posedge CLK or negedge RSTn)
  11. if(!RSTn)
  12.   begin
  13.    x <= 8'b0;
  14.    y <= 8'h0F;
  15.    i <= 4'b1;
  16.   end
  17. else
  18.   begin
  19.     case(i)
  20.     4'b0001,4'b0010,4'b0100,4'b1000:
  21.      begin
  22.       x <= x + 1'b1;
  23.       y <= x;
  24.       i <= i << 1;
  25.      end
  26.     default: i <= 4'hx;
  27.    endcase
  28.    
  29.   endassign Y = y;
  30.   
  31. endmodule


复制代码
发表于 2012-11-5 09:07:18 | 显示全部楼层
09.output [7:0]Y;reg [7:0]x;

明显有错么,x是input,怎么可能是reg
 楼主| 发表于 2012-11-5 11:27:13 | 显示全部楼层
回复 2# tjzcl

    我这代码里input X没用,要想用的话always里x<=X就行了,但这跟我的问题没有关系
发表于 2012-11-5 21:10:49 | 显示全部楼层
哈哈,看错了大x和小x不一样!
发表于 2012-11-5 21:34:50 | 显示全部楼层
本帖最后由 Timme 于 2012-11-5 21:36 编辑

这一步是Elaborate后的图,此时还未进行任何优化,直接由RTL翻译过来的,所以你会看到两个重复的逻辑(一个always块里有多个变量赋值的,会被拆分为多个always块,然后独立翻译为电路)。

Synthesis那一步就会进行各种化简优化了。
 楼主| 发表于 2012-11-5 23:55:44 | 显示全部楼层
回复 5# Timme

我试了 start analysis & synthesis等几个选项, 但是rtl viewer没有被优化,请问您说的是这个图里的某个选项吗?需要使用Synplify吗?


b.jpg
发表于 2012-11-6 00:08:36 | 显示全部楼层
本帖最后由 Timme 于 2012-11-6 00:12 编辑

RTL Viewer看的就是Elaborate后的,Synthesis后的你要看Post-Mapping。

这里的Synthesis就是你图中第三项。RTL Viewer在跑完图中第二项就可以看了。
 楼主| 发表于 2012-11-6 00:22:02 | 显示全部楼层
回复 7# Timme


    谢谢!看过您写的手动P&R的帖子,十分钦佩!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-29 15:22 , Processed in 0.022746 second(s), 10 queries , Gzip On, Redis On.

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