找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 1125|回复: 10
打印 上一主题 下一主题

一个工程优化的问题

[复制链接]

20

主题

85

帖子

-9732

积分

未知游客(0)

积分
-9732
跳转到指定楼层
1#
发表于 2009-7-14 08:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

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

x
我用的是xilinx-TQ144芯片,现在碰到工程占用资源过大的问题,导致程序不能Fit,结果发现是因为一个进程中case语句占用了整个芯片资源的40%左右,看了吓一跳.case语句是这样的, case cnt is
1 [  q' |7 k$ l8 V4 X                                     when 0=>............;
6 y/ u/ b6 k$ r. \& [! I                                     when 1=>............;
2 u/ }4 ^$ _. U                                     when 2=>rsdout<=reg(2);, N5 @! @3 H4 V" J! `
                                       .
6 t' z# O- `- r  X                                       .5 V3 D1 d! ]& x8 O' _" W: p! `
                                       .
8 h, m6 \. a4 k. Y; D9 K                                     when others=>rsdout<='1';
1 a( D& h( J8 R7 l                             end case;0 @) J! a5 H7 l; k6 ^9 Z9 W3 N
                             cnt就只有0 to 20 而已;
: M8 h. h, X+ w                             为什么case这么简单的20个赋值语句会占了这么大的资源呢;( J: f& |$ k- g
还请高手指点啊,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

7

主题

54

帖子

852

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
852
11#
发表于 2009-7-20 17:13 | 只看该作者
这个你要看芯片的结构才能从根本上弄清楚原因。. |$ I0 r, M: o. ^& x- l# C5 P
不过你可以先看 Technology Report,看一下综合出来的结果,然后再去看芯片的datasheet,找到为什么这样综合的原因。
佛祖来了又去,我却依然长跪不起...

20

主题

85

帖子

-9732

积分

未知游客(0)

积分
-9732
10#
 楼主| 发表于 2009-7-17 14:31 | 只看该作者
又碰到了一个问题,还请大家帮我看看.
* I+ \; W% ~9 M( C6 F/ z' ~                  REG(5 DOWNTO 1) <= REG(4 DOWNTO 0);
, X6 ~# S, c: o+ m. T4 S                  REG(0) <= RSDIN;9 M9 m+ t1 ?$ {
这样的移位程序让我很是头疼;
, ~- ^0 q2 K+ C% k! ]/ \                  REG(4 DOWNTO 1) <= REG(3 DOWNTO 0);
' C/ Y- o  x" A2 _                  REG(0) <= RSDIN;
% e4 c4 {! o4 ^' ?/ \3 I2个移位语句只不过是下面一个比上面一个少移一位,资源的占用却完全不一样;
! |3 N' }- ]( |上面的语句资源占用比下面的高多了,这是为什么;! O9 K" C8 O: y, \/ ^2 B8 ?
移位语句也会占用很大的资源吗

7

主题

54

帖子

852

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
852
9#
发表于 2009-7-14 16:00 | 只看该作者
不一定,有些芯片是没有DCM的。你要看芯片的datasheet
佛祖来了又去,我却依然长跪不起...

20

主题

85

帖子

-9732

积分

未知游客(0)

积分
-9732
8#
 楼主| 发表于 2009-7-14 13:57 | 只看该作者
cpld也可以用全局时钟资源吗

7

主题

54

帖子

852

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
852
7#
发表于 2009-7-14 13:26 | 只看该作者
DCM是全局时钟资源,关于这个你可以看看书。
佛祖来了又去,我却依然长跪不起...

20

主题

85

帖子

-9732

积分

未知游客(0)

积分
-9732
6#
 楼主| 发表于 2009-7-14 13:21 | 只看该作者
DCM是什么,如何用DCM来做分频呢

7

主题

54

帖子

852

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
852
5#
发表于 2009-7-14 11:06 | 只看该作者
分频进程必然会占用很多资源。所以如果还有多余的DCM资源的话,就用DCM做分屏吧
佛祖来了又去,我却依然长跪不起...

7

主题

54

帖子

852

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
852
4#
发表于 2009-7-14 11:01 | 只看该作者
case语句里包含了其他模块,也就是说case语句和它里面的那个模块是串行工作的,你可以试试串并转换。将case语句中的其它模块提出来,让那个模块和case语句并行工作
佛祖来了又去,我却依然长跪不起...

20

主题

85

帖子

-9732

积分

未知游客(0)

积分
-9732
3#
 楼主| 发表于 2009-7-14 10:51 | 只看该作者
现在发现了一个问题就是一个分频进程占用了蛮多的资源
; d. h/ z) J. [/ bPROCESS(CLKIN)  --1302分频,产生约9.6K时钟6 r! w/ v, |% I9 v& ^
BEGIN; Q2 d: p( G, x2 _( o) }
    IF CLKIN'EVENT AND CLKIN = '1' THEN3 j" ?+ a% a+ M: f3 ^
             IF CNT_IDLE = IDLE_TIME THEN
9 O" D' l0 i" I8 H5 Z2 b* `                      CNTA <= 0;. n  H2 C: G5 _# }
                  ELSIF RSDIN = '0' AND CNTA < RS_CLK_DIV_HALF THEN
' \6 s; m6 h% \# t7 o1 R                      CNTA <= CNTA + 1;
8 D# |- X6 {% y                  END IF;4 m7 s3 |8 |& ~2 i' s
                  / J, x2 r0 k& R  R+ R: @. J1 Q& I
                  IF CNTA = RS_CLK_DIV_HALF2 OR CNTB = RS_CLK_DIV THEN
1 o  L# j6 s7 v# C9 p                      CNTB <= 0;9 \! ]1 ^& j5 O6 F$ X) h, G
                  ELSE
, _% P; p: o, K                      CNTB <= CNTB + 1;
2 l+ Q/ J3 m' k                  END IF;
- k* U, E8 ^1 k( l2 Z0 v  ?                    L1 W2 o1 U) ^4 B$ Z8 K
                  IF CNTB < RS_CLK_DIV_HALF THEN
% s0 X; ^* c& |                      CLK_RS <= '1'; / A' r* h" Z# e( V3 e! K! j) v7 E
                  ELSE
( w5 v/ o" g% K: m7 F                      CLK_RS <= '0';  p  k% x4 A. q6 H
                  END IF;
7 J0 G# t+ Q6 Q5 |% U( U         END IF;
# j' J1 w. N9 w' ?0 rEND PROCESS;  v  g  J  e. ?7 A
这分频可以改变一下,使它占用的资源降低吗

20

主题

85

帖子

-9732

积分

未知游客(0)

积分
-9732
2#
 楼主| 发表于 2009-7-14 09:36 | 只看该作者
本帖最后由 chenqinte 于 2009-7-14 09:44 编辑
/ E* ]# i* w' ?2 G0 X
& J+ c9 X$ i2 m找到原因了,不是语句的问题,是case语句里还包含了其他模块,但如何解决工程优化问题,我还是不是很了解,请大家帮忙了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-12-26 15:28 , Processed in 0.062016 second(s), 33 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表