一 将设计项目设置成工程文件(PROJECT)
为了对输入的设计项目进行各项处理,必须将设计文件,设置成Project。如果设计项目由多个设计文件组成,则应该将它们的主文件,即顶层文件设置成Project。如果要对其中某一底层文件进行单独编译、仿真和测试,也必须首先将其设置成Projcet。即需要对哪个设计项目进行编译、仿真等 *** 作时,就设定哪个项目为工程。
将设计项目(如h_adder.gdf)设定为工程文件,有两个途径:
1、执行菜单File Project Set Project to Current File,即将当前设计文件设置成Project。选择此项后可以看到菜单上面的标题栏显示出所设文件的路径。(前一部分是目前编译器所指向的工程文件名称)。这点特别重要,此后的设计应该特别关注此路径的指向是否正确!如果已经指向待编译的文件,就不必再次设置为工程。
2、如果设计文件未打开,执行菜单File Project Name,然后在跳出的Project Name窗中找到文件夹及文件名,此时即选定此文件为本次设计的工程文件了。
步骤4:选择目标器件并编译
在对文件编译前必须选定最后实现本设计项目的目标器件,执行菜单AssignDevice,d出Device窗口。此窗口的Device Family是器件序列栏,应该首先在此拦中选定目标器件对应的序列名,如EPM7128S对应的是MAX7000S系列、EPF10K10对应的是FLEX10K、EP1K30对应的是ACEXlK系列等。为了选择EPF10K10LC84-4器件,应将此栏下方标有Show only Fastest Speed Grades的勾消去,以便显示出所有速度级别的器件。完成器件选择后,按OK键。
启动编译器。首先选择左上角菜单的MAX+plusII选项,在其下拉菜单中选择编译器项Compiler,此编译器的功能包括网表文件提取、设计文件排错、逻辑综合、逻辑分配、适配(结构综合)、时序仿真文件提取和编程下载文件装配等。如图5所示。
点击Start,开始编译!如果发现有错,一般情况下,会告诉用户错误的位置和情况,双击编译信息(Messages -Compiler)窗错误信息条,会直接跳到错误位置,排除错误后再次编译。
说明:错误位置是用元件左下部的浅色数字显示的,该数字是用户在Enter Symbol的时候自动顺序编号的。
图5 编译窗口
图5编译窗各功能项目块含义如下:
• Compiler Netlist Extractor :编译器网表文件提取器,该功能块将输入的原理图文件或HDL文本文件转化成网表文件并检查其中可能的错误。该模块还负责连接顶层设计中的多层次设计文件;此外还包含一个内置的,用于接受外部标准网表文件的阅读器。
• Database Builder :基本编译文件建立器,该功能块将含有任何层次的设计网表文件转化成一个单一层次的网表文件,以便进行逻辑综合。
• Logic Synthesizer :逻辑综合器,对设计项目进行逻辑化简、逻辑优化和检查逻辑错误。综合后输出的网表文件表达了设计项目中底层逻辑元件最基本的连接方式和逻辑关系。逻辑综合器的工作方式和优化方案可以通过一些选项来实现。
• Partitioner :逻辑分割器,如果选定的目标器件逻辑资源过小,而设计项目较大,该分割器则自动将设计项目进行分割,使得它们能够实现在多个选定的器件中。
• Fitter :适配器,适配器也称结构综合器或布线布局器。它将逻辑综合所得的网表文件,即底层逻辑元件的基本连接关系,在选定的目标器件中具体实现。对于布线布局的策略和优化方式也可以通过设置一些选项来改变和实现。
• Timing SNF Extractor :时序仿真网表文件提取器,该功能块从适配器输出的文件中提取时序仿真网表文件,留待对设计项目进行仿真测试用。对于大的设计项目一般先进行功能仿真,方法是在Compiler窗口下选择Processing项中的Functional SNF Extractor功能仿真网表文件提取器选项。
• Assembler :装配器,该功能块将适配器输出的文件,根据不同的目标器件,不同的配置ROM产生多种格式的编程/配置文件,如用于CPLD或配置ROM用的POF编程文件(编程目标文件);用于对FPGA直接配置的SOF文件(SRAM目标文件);可用于单片机对FPGA配置的Hex文件,以及其它TTFs、Jam、JBC和JEDEC文件等。
步骤5:时序仿真
接下来应该测试设计项目的正确性,即逻辑仿真,简单的说仿真就是人为模拟输入信号,观察输出信号的变化,判断是否合乎预计的设计要求。具体步骤如下:
1、建立波形文件。按照以上“步骤2”,为此设计建立一个波形测试文件。选择File项及其New,再选择图1下侧New窗中的Waveform Editer..项,打开波形编辑窗。如图6所示。
图6 波形编辑窗口
2、输入信号节点。执行菜单Node → Enter Nodes from SNF。在d出的窗口(图7)中首先点击List键,这时左窗口将列出该项设计所有信号节点。由于设计者有时只需要观察其中部分信号的波形,因此要利用中间的“=>”键将需要观察的信号选到右栏中,然后点击OK键即可。波形编辑窗口变成图8所示。
图7 列出并选择需要观察的信号节点
3、设置波形参量。图8所示的波形编辑窗中已经调入了半加器的所有节点信号,在为编辑窗的半加器输入信号a和b设定必要的测试电平之前,首先设定相关的仿真参数。如图8所示, 在Options选项中消去网格对齐Snap to Grid的选择(消去勾),以便能够任意设置输入电平位置,或设置输入时钟信号的周期。这点切记
图8 调入所有节点后的图形编辑窗口
4、设定仿真时间宽度。执行菜单File→End Time选项,在End time选择窗中选择适当的仿真时间域,如可选3s(3微秒),以便有足够长的观察时间,但是不要设定时间太长,否则,仿真工作量大,占用的机时太长。软件默认仿真时间为1s。
5、设定输入信号。现在可以为输入信号a和b设定测试电平了。如图9标出的那样,利用必要的功能键为a和b加上适当的电平,以便仿真后能测试so和co输出信号。如果需要对输入信号a在某段时间间隔内赋值,在该信号的该段时间起点拖动鼠标,移动到该段时间终点,使之变成黑色,然后点击左侧工具箱中的相应赋值按键。如果对信号从头至尾(End Time)赋值,只需用鼠标在左部的Name区点击相应的位置,该信号会全部变黑,表示全选。
图9 设定输入信号的测试电平
赋值取反:就是对“黑色”时间段的信号取反码,如:0→1、1→0、B9→46
6、波形文件存盘。执行菜单File →Save,按OK键即可。由于存盘窗中的波形文件名是默认的(这里是h_adder.scf),所以直接存盘即可。
7、运行仿真器。执行菜单MAX+plusII →Simulator选项,点击跳出的仿真器窗口(图10)中的Start键。图11是仿真运算完成后的时序波形。如果没有变化,看看是否因为显示比例太大,点击图9的放大按钮或显示全部按钮。
图10 仿真器窗口
图11 半加器仿真波形
上图的Value栏的数值,代表竖线处(83.0ns)各个信号的电平。
8、观察分析波形。很明显,图11显示的半加器的时序波形是正确的。还可以进一步了解信号的延时情况。图11的竖线是测试参考线,它上方(与Ref数据框处相同)标出的83.0ns是此线所在的位置;鼠标箭头(该线右侧‘+’处)所在处时间显示在Time数据框里,为93.0ns;二者的时间差显示在窗口上方的Interval小窗中。由图可见输入与输出波形间有一个小的延时量10ns。
有时,为了观察方便需要将某些信号作为一组来观测。步骤:
①. 鼠标在Name区选择co使之全部变黑,按住ALT键,向下拖动鼠标,复制一个co,或者全黑后,右键→Copy,在其它空白区域再右键→Paste;然后再复制一个so;或者菜单Node → Enter Nodes from SNF,再加上一个co和so。建议co在so的上面,且二者相邻。
②. 将鼠标移动到Name的co上(不要在带红线的“信号性质说明”上),按下鼠标左键并向下拖动鼠标至so,松开后鼠标左键,可选中信号co、so
③. 在选中区域(黑色)上,点击鼠标右键,在浮动菜单上选择Enter Group...或直接执行菜单Node → Enter Group...,出现如图12所示的设置组对话框
图12 设置组对话框
④. 选择合适进制后,选择OK,可得到如图13所示的波形图。
图13 组显示结果(10进制)
说明:在以后的仿真时,对于多位的数据,双击Value区,也可以改变数据的显示格式,可以直观显示。步骤①不一定是必须的。但是Group的高位是所选数据的最上面的那个,低位是所选数据的最下面的那个。输入数据也可以编组,有时在信号赋值时比较方便。
9、为了精确测量半加器输入与输出波形间的延时量,可打开时序分析器,方法是选择左上角的MAX+plusII项及其中的Timing Analyzer选项,点击跳出的分析器窗口(图14)中的Start键,延时信息即刻显示在图表中。其中左排的列表是输入信号,上排列出输出信号,中间是对应的延时量,这个延时量是精确针对EPF10K10LC84-4器件的。
图14 延时分析结果
10、包装元件入库。重新回到半加器设计文件h_adder.gdf,执行菜单File → Create Default Symbol项,此时即将当前文件变成了一个包装好的单一元件h_adder.sym,并被放置在工程路径指定的目录(e:\MYNAME\shiyan_1)中,以备后用。
modesim 安装目录下找到modelsim.ini
verilog = $MODEL_TECH/../verilog
std_developerskit = $MODEL_TECH/../std_developerskit
synopsys = $MODEL_TECH/../synopsys
modelsim_lib = $MODEL_TECH/../modelsim_lib
sv_std = $MODEL_TECH/../sv_std
mtiAvm = $MODEL_TECH/../avm
mtiOvm = $MODEL_TECH/../ovm-2.1.1
mtiUvm = $MODEL_TECH/../uvm-1.0p1
mtiUPF = $MODEL_TECH/../upf_lib
mtiPA = $MODEL_TECH/../pa_lib
floatfixlib = $MODEL_TECH/../floatfixlib
mc2_lib = $MODEL_TECH/../mc2_lib
vhdl_psl_checkers = $MODEL_TECH/../vhdl_psl_checkers // Source files only for this release
verilog_psl_checkers = $MODEL_TECH/../verilog_psl_checkers // Source files only for this release
mvc_lib = $MODEL_TECH/../mvc_lib
secureip = D:/modeltech_10.0b/modelsim_lib/secureip
simprim = D:/modeltech_10.0b/modelsim_lib/simprim
simprims_ver = D:/modeltech_10.0b/modelsim_lib/simprims_ver
unimacro = D:/modeltech_10.0b/modelsim_lib/unimacro
unimacro_ver = D:/modeltech_10.0b/modelsim_lib/unimacro_ver
unisim = D:/modeltech_10.0b/modelsim_lib/unisim
unisims_ver = D:/modeltech_10.0b/modelsim_lib/unisims_ver
xilinxcorelib = D:/modeltech_10.0b/modelsim_lib/xilinxcorelib
xilinxcorelib_ver = D:/modeltech_10.0b/modelsim_lib/xilinxcorelib_ver
带 D:\就是自己添加的。
你按照你的目录给添加进去即可。
哦,对了,要把 modelsim.ini 这个文件的只读选项给去掉。
1、先进入protel原理图界面,然后打开菜单“设计(Design)”-“添加/移除元件库(Add/Remove Library)”命令。
(注意只有打开原理图才有前面的菜单,如果没有原理图,可以临时新建一个,如下图:)
2、d出下面的窗口
,选择要添加的软件库,然后点击下面的“Add(添加)”按钮。
3、如果在下面的列表显示出你刚才选择添加的元件库, 如果你的元件库添加成功,后面如果要添加其他库,继续这样添加了。
4、可能出现的问题及解决办法:
(1)如果出现问题,首先应该想到的是有没有成功激活。(激活问题我没遇到,不知道protel没激活会出现的问题是什么样的,因为,我一开始就激活成功了。)不过...先给你一组激活码一防万一好了:
S/N: Y7ZP-5QQG-ZWSF-K858
License number: 990005336
我的就是用这个激活的,适用于protel 99SE。
(2)如果添加失败,出现下面的错误提示窗口,那就是兼容问题。我的电脑就出了这个问题。
Protel99SE是很老的软件,与win7不兼容。不要觉得难以理解,为什么protel99偏偏不兼容win7呢。其实很好理解,早在Protel99SE问世的时候,连XP系统还没出来,更别说Win7了。微软2000年发布Windows 2000,而windows XP是2003年才发布的,更别说win7是最近几年才问世的。我估计protel发布的时候正刚上2000甚至可能更早的NT系统(有说protel正式版是2000年发布的)。早在十几年前,protel的设计者没办法考虑到后来的系统会有什么变化。至于为什么在xp系统上装就没问题,那是因为xp和前几个系统一样,用的都是NT内核,2000用的是NT5.0的内核,而Xp内核只做了小改,内核版本是NT5.1。但到了win7系统,内核版本就是大改了,我自己的电脑Win7旗舰版就是NT6.1的版本。从NT5到NT6整个的升了一个版本,所以protel这样的老软件不兼容也是很正常的。
【解决办法1】网上有说将兼容性改为XP就行了,我试过了的,不行。不过你可以试一下,碰碰运气。方法是,在protel主程序(找不到的话,桌面快捷方式右击也一样)右击—>"属性"—>"兼容性"选择页,然后在下面可以看到一个兼容性模式,里面(也就是下拉列表上面的)有一个选择框默认是不打勾的,你把勾打上,就可以打开下拉列表了。下拉列表从最上面的windows95一直到最下面的你当前的系统,从上到下,系统版本越来越高,windows me及之前的都是内核版本太低,你选了也没有用。servers2003和2008都是服务器版本。你可以尝试的就是XP 和2000上下的这几个版本。 (我的系统是原版的,全都是英文,就不给你截图了。)
【解决办法2】protel99的兼容性不好是出了名的,所以就有人专门做了解决protel与win7兼容的工具。我这里就有一个,还是去年参加学校培训是老师给的,软件的可靠性不容置疑,全班100多人都用过,除了用XP系统的。就在附件里,鼠标点一下就可以下载,只要你花5个财富值。(不要说我黑,你想想看,我为了给你回答,折腾好几个小时,先找到protel一步步 *** 作、截图、还要查资料,然后给你写出文字说明,大冷天弄了几个小时,还要熬夜,太幸苦了,不收点回报岂不太对不起自己了,其实5个财富值是最高的了,哈哈!)
【解决办法3】俗话说,“自己动手, 丰衣足食”,这个问题还可以不用下载任何软件,手动
解决。原理是protel在运行是会把它所加载元件库列表,保存到磁盘上的一个特定的文件中。
这个文件在系统目录C:\windows下,名字是AdvSch99SE.ini。(注意一下,一般系统盘符是C盘,系统目录就是默认的C:\windows ,但如果系统盘可能不是C盘,比如说是G盘,那么系统你就应该在G:\windows里找,而不是C:\windows。)
不过,不管系统目录是什么,都可以用%systemroot%表示,好吧,你按我下面的步骤来就行了:
第一步:自己在地址栏中输入
notepad %systemroot%\AdvSch99SE.ini
(命令解释:notepad.exe是记事本,写成命令可以省略后面的扩展名exe,后面的是参数,为记事本要打开的文本文件,ini与txt一样都是纯文本文件,可以用文本编辑器直接打开。)我的AdvSch99SE.ini打开后是这样:
[Change Library File List]
Path=D:\tools\elec\Design Explorer 99 SE\Library\Sch\Miscellaneous Devices.ddb
Prompt=Change Library File List
SelFileType=All files(*.*)
EditorName=All
CallBack=Sch:LibraryDocumentDescription
Sel File Type=All files(*.*)
WholeProject=False
TypeCount=2
Count=1
File0=D:\tools\elec\Design Explorer 99 SE\Library\Sch\Miscellaneous Devices.ddb
FileX列表就是加载过的元件库列表,“count=”后面的数字是其个数。
File0=后面的是这个库文件的全名,全名以盘符开头,比如我安装在在D盘,盘符就是D。
(情况1:如果实在没有这个AdvSch99SE.ini文件,网上有人说新建一个就行了,我没试过。不过你可以将protel中添加元件库相关的 *** 作多做几次(尽管会报错),那样protel说不定会自己建一个AdvSch99SE.ini,在不行的话八成是哪里弄错了。)
(情况2:如果protel用过多次的话,你会发现,AdvSch99SE.ini后面的东西不止我列出来的那些,还有很多,但不要紧,你只要找到Count=?
File?= ... 这样的东西,紧接后面添加就行了。)
第二步 在File后面按上面的格式加上你要加载的库文件(“文件夹名”+“
\”+“文件名”的构成)。
注意每加一个,count后面一定要增加1。
第三步 保存
现在如果你的protel是打开的,先关闭它。由于windows的保护,你直接保存是不行的。必须先另存为到桌面上(千万不要改名),然后移动到原来的windows目录替换掉原文件 。在这个移动替换的 *** 作过程中一定要保证protel是关闭的,否则protel一直访问AdvSch99SE.ini,结果会怎样你应该知道。
最后 启动protel99se,查看一下元件库有没有成功加载。元件库加载后你就可以使用上面的众多元件了。
对于兼容性问题,我还是推荐使用手动添加的方式。安全可靠,而且还能熟悉元件库,我上面第三幅图上面的两个元件库“我的元件库”和“原理图元件库”都是手动添加的。
好了,这么多也够详细了,基本上该出、不该出的问题都考虑到了。假如再不行你干脆重装一次算了,不值得折腾(不过自己建的库一定要保存下来,千万被放在安装目录下,卸载时一块给删了),还有假如哪位使用的是WIN8系统,自求多福吧!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)