返回该小组首页 回复主题
songchao01

songchao01

小组等级:     E币:447  (E币换礼)

#1楼主:碰到一个奇怪的问题

文章发表于:2008-07-18 11:03

最近在调程序的时候,碰到了一个奇怪的问题,描述如下:

在程序中定义了一个16bit的parameter型常量MEM_FULL用来指示存储器满,并用if语句

进行判断来决定对存储器进行几次读写操作。

if({addr_index[25:12],addr_index[4:3]}= =MEM_FULL)

begin

      .....

end

问题出现了,MEM_FULL取某些值的时候,程序可以实现预定的功能,对存储器写入

和读出的数据都没问题;可是,修改MEM_FULL值,也就是变更读写次数的时候,

读出来的数据就不对了...

后来修改写法 if((addr_index[25:12]= =MEM_FULL[15:2])&&(addr_index

                              [4:3]= =MEM_FULL[1:0]))

功能就正常了,不知道这两种写法有什么区别么??很奇怪的说,百思

不得其解....

还想问一下Dual-fast regional clock是什么东西??

songchao01

   小组等级:    E币:447  (E币换礼)

#2

文章发表于:2008-07-20 08:45

自己顶一下~

songchao01

   小组等级:    E币:447  (E币换礼)

#3

文章发表于:2008-07-20 11:00

刚才自己另写了一小段代码,综合以后用RTL viewer查看,发现这两类描述没有太大区别。第一类描述被综合成了一个16位的比较器,第二类描述被综合成了两个比较器+一个与门。

我开始怀疑是不是位数多的比较器判断时间会长一些,导致电路工作不稳定

看来以后应该尽量将判决条件打散,用多个与门连接起来,貌似有点儿流水线的意思,呵呵

总共 , 当前 /

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

  • DesignDesign
  • HTMLHTML

浏览该小组的用户还看过...

所有小组精华文章