| Steve's profileWildog's MSN BlogPhotosBlogNetwork | Help |
|
Wildog's MSN Blog明天因为未知而值得期待 December 28 modelsim下编译xilinx库的方法建立ModelSim SE 的Xilinx仿真库方法,从网上搜到的有很多,实践过其中几种,其中一种较简单的方法如下:
1)当然是要安装ModelSim 和ISE 。
2)将ModelSim根目录下的modelsim.ini文件的只读属性去掉。
3)在ModelSim命令窗口输入:compxlib -s mti_se -arch all -l vhdl -w -lib all
按回车键即可。
说明:上述命令行中的vhdl 表示vhdl语言,如将此处改为verilog,则生成verilog的库。
4)将ModelSim根目录下的modelsim.ini文件设为只读。
完成上述步骤,重新启动modelsim,即可在libarary栏中看到已生成的Xilinx库。
October 14 如何在allegro里添加快捷键 在设计PCB的时候,有的操作会经常用到,比如旋转(rotate),镜像(mirror)等,
这些操作如果能用键盘快捷命令的方式来实现,就可以左手按键盘,右手用鼠标,pcb layout时候会感觉很方便。
经过我的调研和实践,操作步骤如下:
1) 找到....\SPB_15.5\share\pcb\text\路径下的env文件。
2)打开env文件之后,
在刚才这段文字的最下方,写入
保存并关闭文件,重新打开allegro, 当元件被选中后,按r 键,元件就会逆时针旋转90度
按f 是mirror
按m 是 move
当然,这几个键都是按我个人习惯,大家可以根据自己喜好去添加。
不过要提醒的是,一旦某个字母键被选作funckey之后,在active状态下,它就不能作为其它用途了(比如输入命令行)。 September 30 关于pci总线 Latency Timer 的问题(续)关于这个问题,我之前写过一篇日志,所以现在这篇小文章的题目后加了个“续”字。
一开始,是我在进行一个小项目,就是在原来一位师兄设计的PXI数据采集卡的基础上,对硬件逻辑和软件进行改进,实现pci burst传输的功能。 大体上还是比较顺利,只是遇到了传输64个dW就停止的问题,很让人头疼,然后我把Latency Timer 关掉之后,一次burst2048DW没有出现问题,然后我把师兄在VC上写的数据采集软件优化了一下,在实验室一台配置较老的PC上,连续进行数据采集,可以达到20Mbyte的数据率(包括写硬盘保存文件)没有丢数据,CPU占用率10%左右,并且持续运行不死机,然后这个项目就算完成了。
这套方案后来就用到了一位师弟(我习惯叫他周董)还有一位师妹(我习惯叫她胡博)的设计中,然后剩下的事情就是他们在继续了。
然后周董和胡博都遇到过burst传输中断的事情,尤其是胡博,被这个问题困扰最久。
话说我本来以为Latency Timer关掉就万事大吉了,谁知道在胡博那里还是遇到了这个问题,貌似她的传输就是到1024 DW就中断了。而且,这个问题还和PC机型有关,比如说,在一台很旧的PC机(应是四五年前的机型)上即使没关Latency Timer 一次burst连续传1M DW都没问题,但是在较新的机器上即使传1024 DW就出现abort。我断定这肯定和主板配置有关,所以建议胡博去检查她的pci卡内congfiure空间内各寄存器,但是她一直没有做成这件事(可能中间遇到困难)。因为我自己有新的事情要忙,然后这个建议就搁置在那了。
话说现在解决的办法有2种:
1)把大数据包拆开多次传输,一次burst传输只传1024 DW,申请一次中断。
这样只需要把逻辑稍作修改,对传输速率有稍许影响(速度可能变慢1%量级),但是这个影响不大。
2)abort之后,再申请pci总线,在原来的断点开始续传,直到把大数据包传完之后,再申请中断。采用这个办法算是从根本上解决问题。但是,要注意的是,续传的时候要把abort点的数据找回,不然会出现数据包间断。
当然,问题是解决了,至于为什么在有的机型上会出现这个问题,这个就要靠周董了。
如何在PSpice仿真中使用自定义波形作为信号源之前的这几天,一直在用Cadence的capture软件仿真一个模拟电路。
一开始用的是库里自带的脉冲信号源library。
因为我所用的电路,是对来自光电倍增管的信号进行调理,所以我们之前用示波器采样了一个波形,存成了txt文本的格式。
也就是说,如果我们能把这个文本做成一个信号源文件,用capture添加到仿真电路图里作为输入,就可以使仿真结果更接近于实际。
在同学的提示下,经过摸索,我总结出步骤如下:
1)在原理图编辑模式下,点击添加元件按钮,add library-> sourcstm.olb ( ../tools/capture/libarary/pspice/路径下)
对于我,要用电压源,则添加其中的vstm到原理图中,你会看到一个信号源的图标。
2) 点击该图标右键选择edit pspice library....
然后你会看到一个窗口,同时弹出一个对话框,输入一个simulus名称,比如 Simu1
然后单选pwl....那一项
然后再弹出一个对话框,选择cancel
就会进入一个波形编辑窗口
3) file->save as
然后把该Simu1.stl文件save到某个文件夹中。
用ultra edit 打开该文件,你会看到如下的内容
有*的行应是注释。其它的就是波形文件的设置啦,这些都可以修改。
然后简单的办法就是把自己的波形数据粘贴到文件后面
诸如下面几行:
然后保存,就差不多了。
在原理图里就可以仿真了。当然这里面还有很多细节,巨细无遗地列出就太繁琐了,只有我们通过自己的实践去体会了。另外就是第2)步应该可以跳过,直接对某个stl格式的文件按自己需要进行编辑,比如说得到了一个ABC.stl的文件存在某个路径下。
然后在Vstm 的设置里,将...implementation设成ABC
然后在simulation设置对话框里,有configuration一项,点击其中pspice一项,将ABC.stl的路径添加进去,即可用于仿真。
September 20 如何生成Xilinx FPGA的Cadence 原理图库因为前段时间自己用到一款Xilinx Virtex-Ii FPGA,
然而,作为一个懒人,在新建原理图封装(library)的时候,我遇到了麻烦。
对于Altera公司的FPGA来说,貌似都提供了现成的olb文件(这说明Altera在客户维持方面做得挺贴心的),
但经过仔细调研,发现Xilinx并不提供现成的的FPGA 原理图库。
由于现在FPGA管脚数越来越多(多的达1000个以上),一个一个地输入管脚名,简直是噩梦。
而且,即使你很勤劳地把所有管脚都输入,也难保其中不会出错。
所以,到勾狗上勾了两天,加上自己摸索,终于找到了一种相对来说比较便捷的方法。
第1步:当然是到Xilinx的官网上下载所谓pin out 文件。比如说我下载了一个virtex2_pkgs_zip.zip文件,
包含了V-II的所有型号FPGA的pin list。例如其中的2v500fg256就是我想要的。
第2步:打开2v500fg256.txt,会看到其中的
Package Name 、Bank name,IO Type这三列信息很有用。
新建一个excel表格,导入数据(文本文档格式),将2v500fg256.txt导入。
第3步:在capture中,选择file->new-> library。
第4步:单击新建的library,选择new part from spread sheet.
你将会看到一个原理图管脚分配表
第5步:将excel中的相关列的信息粘贴到该表中。
到了这一步,就OK了。剩下的,就是一些小修小补的事情,原理图库就建好了。
说起来,还是蛮简单的,最关键在于知道有第4步,其它就不是问题啦。
|
||||
|
|