cxlspp 发表于 2010-9-29 20:10:36

理解不了的,请解答.谢谢

主要是CPLD的问题

1----比方说我要做一个计算器,4位整数的加减乘除,那么我就需要对输入的数据保存,并把结果保存,这个“保存”要求断电后数据不消失,那么就得使用EEprom,EEprom是外部的么?CPLD读取EEprom时候,读出的数据存在哪里?RAM?哪里的RAM?

2----还有,不如我要显示一个大整数“1432122”,我是要取出里面的个十百千万等位分别现实,如何取出?是通过比较?还是通过求余?比较的话占用资源大不大?

3----在CPLD里大量使用函数,这个习惯好不好?

4----CPLD的程序(不是数据)能保存在外部的EEprom里么?能的话,加电以后CPLD又是如何工作的?

5----硬件自检是个什么道理??

6----不如软件的数据,我们可以用数据库解决,硬件呢?当我处理的数据较多时候,对数据的处理是怎么个思路?


以上诸多问题,烦请高手解答,谢谢,本人新手,农民工,准备在电子上找点出路。。。

----------------------------
才开始学习VHDL不久,心里充满疑惑,一点点解决

有最小系统版,是max ii 570的

简单点的程序可以,稍微复杂点的可以看懂,就这点水平。
----------------------------




仰望诸位的水平,幻想有朝一日有大侠一般的水平。。。


----------------------------

拜托!!!!!!!!!请赐教!!!

flamingwave 发表于 2010-9-29 20:52:08

贴一点个人之见吧。
1----比方说我要做一个计算器,4位整数的加减乘除,那么我就需要对输入的数据保存,并把结果保存,这个“保存”要求断电后数据不消失,那么就得使用EEprom,EEprom是外部的么?CPLD读取EEprom时候,读出的数据存在哪里?RAM?哪里的RAM?
EEPROM是PLD外部的。
读EEPROM读出的数据可以放在PLD器件的寄存器和RAM里,
EPM570没有RAM,MACH XO 系列和SPARTAN 3AN系列是有RAM的。
但是EPM570可以例化RAM的CORE,实际上是用寄存器搭的。

2----还有,不如我要显示一个大整数“1432122”,我是要取出里面的个十百千万等位分别现实,如何取出?是通过比较?还是通过求余?比较的话占用资源大不大?
自然是求余或者类似的16进制转十进制的转换算法。
用EPM570实现起来有些困难。它几乎实现不了除法器的。
最好弄一个大器件,在里面实现一个SOC,这样的话这种进制转换就好做了。

3----在CPLD里大量使用函数,这个习惯好不好?
如果用VHDL语言用函数也是一个流派。但调试有些困难。个人没有找到好方法。
在VERILOG中我没见过。它更贴近实际的硬件器件逻辑。似乎没有函数这一说。

4----CPLD的程序(不是数据)能保存在外部的EEprom里么?能的话,加电以后CPLD又是如何工作的?
PLD的bit文件可以保存在EEPROM里,但注意EEPROM和对应PLD所需容量的大小。
加电以后EPM570这种器件实际上是内嵌FLASH,类似FPGA的SRAM工艺的,它当然是读取自己内部FLASH存储的内容,加载到SRAM之中。
若放在外部的EEPROM里,那么须外加一个CPU来读取EEPROM的内容,然后仿照JTAG的时序对CPLD加载了。

5----硬件自检是个什么道理??
这个问题太笼统,大概就是上电之后检查一下各系统的工作状态是否正常。

6----不如软件的数据,我们可以用数据库解决,硬件呢?当我处理的数据较多时候,对数据的处理是怎么个思路?
“不如软件的数据,我们可以用数据库解决”没看懂
是不是意思是这个数据比较大?在传输的时间比较长?
我想有二种办法吧,一是CUT THROUGH模式,就是你边接收边发送。
二是存储转发模式,就是一次性把数据接收下来放在存储器里,再细细处理,处理完毕之后从存储器里读出并发送。

cxlspp 发表于 2010-9-30 08:52:49

哦,半懂不懂,谢谢…
我水平太次,努力中…

wanwzy 发表于 2010-9-30 15:32:58

mark
页: [1]
查看完整版本: 理解不了的,请解答.谢谢