打印

行为级描述的问题?

[复制链接]
2676|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
catccaatt|  楼主 | 2008-1-1 20:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
加算法,
为什么用了算数库了以后 写s<=a+b
比用下面与或门的描述编译下来占用的资源少???
         bb(0)<=b(0) xor d(0);
       bb(1)<=b(1) xor d(0);
       bb(2)<=b(2) xor d(0);
       bb(3)<=b(3) xor d(0);
       s(0)<=a(0) xor bb(0) xor d(0);
       s(1)<=a(1) xor bb(1) xor c(0);
       s(2)<=a(2) xor bb(2) xor c(1);
       s(3)<=a(3) xor bb(3) xor c(2);
               
   c(0)<=(a(0) and bb(0)) or (a(0) and d(0)) or (bb(0) and d(0));
   c(1)<=(a(1) and bb(1)) or (a(1) and c(0)) or (bb(1) and c(0));
   c(2)<=(a(2) and bb(2)) or (a(2) and c(1)) or (bb(2) and c(1));
   c(3)<=(a(3) and bb(3)) or (a(3) and c(2)) or (bb(3) and c(2));

相关帖子

沙发
soso| | 2008-1-14 15:35 | 只看该作者

逻辑器件的体现就在这里,

使用特权

评论回复
板凳
awey| | 2008-1-15 17:29 | 只看该作者

就像用C语言比用汇编编译后占用空间大是一个道理

使用特权

评论回复
地板
阿bin| | 2008-1-16 00:43 | 只看该作者

我想说一下

我觉得程序长肯定占的资源多拉,程序要求简洁,但是要易懂

使用特权

评论回复
5
风中De舞者| | 2008-1-16 10:04 | 只看该作者

你写了这么多信号赋值语句肯定占用了不少资源

我建议楼主直接尝试使用原理图用与门和或门来编辑看看

使用特权

评论回复
6
xwj| | 2008-1-16 10:12 | 只看该作者

好好优化下你的逻辑啊

理论上不管是怎麽写(原理图、表达式、赋值语句)都会是一样多的,但是原理图和赋值语句四由你确定死了的,编译器不会优化,而用表达式(或别的高级语言)时,由于能用很多种方式实现,好的编译器会尝试各种不同的方法并选择一个最优的。

因此如果你的逻辑没编译器优化的好,那当然就会占用更多的资源了

而且,有针对资源的优化,有针对时间的优化,又会产生更多的变数和更多的结果可能

使用特权

评论回复
7
awey| | 2008-1-17 13:04 | 只看该作者

尽量少用门级结构描述

除非你对所用的芯片内部相当了解。

就像MCU的编程,如果你对汇编不是很所悉,写出来的代码占用的空间可能大于用C写的。

使用特权

评论回复
8
hover99| | 2008-1-23 15:01 | 只看该作者

楼上很多人都用程序观点来解释电路

使用特权

评论回复
9
vongy| | 2008-1-28 21:04 | 只看该作者

回楼主的问题

如果你在做ASIC,用下面的写法可能会占用资源少一些
如果你在做FPGA,用下面的方法占资源一定就会多,因为这是FPGA本身的逻辑决定的,很多逻辑单元早就做好了,用它自己的软件编译会得到最优化的结果,而你写的gate级跟FPGA内部的逻辑结构不一定一致,会导致占用更多的资源。

使用特权

评论回复
10
chunk| | 2008-2-4 14:37 | 只看该作者

又想起了那个经典的问题

在CPLD内部实现latch和register有区别,区别在哪儿呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

4

帖子

1

粉丝