原创 回答Chipscope的一些问题

2010-6-11 14:58 6213 8 8 分类: FPGA/CPLD

转:http://www.openhw.org/walkie/blog/10-06/191216_cec6e.html


今天被问到了一些chipscope,想应该是比较基础,比较普遍的问题,于是记录下来了。


>>>>


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


Walkie:


       你好,前阵子我问过你问题,不知您还记得否。谢谢您的回复,我这里又有些问题,自己解决不了了,请您帮下忙。


       不知道您的Chipscope用的熟练不 我这里有几个关于chipscope的问题。我需要用Chipscope测试我的设计,所以我最近学习了一下chipscope的应用。做了一个非常简单的实验实验内容见http://www.eefocus.com/article/08-11/57630s.html


我实验平台 ISE9.1+相应版本chipscope


硬件就是Spartan3E


1)问题在于我按照那个流程走,得不出来结果,没现象但也没报错,后来我自己修改了一下,就是将约束文件改了一下于是就得出来文档中的结果。


我是将这句话


NET "reset"  LOC = "H13" | IOSTANDARD = LVTTL  | PULLDOWN ;


中的高亮的部分注释掉了 只保留NET "reset"  LOC = "H13"; 得出来实验结果。


我对于这个时序约束的都是理解不是很深。您能帮我解释一下是什么原因?


2)还有您看一下我附加文档(ChipScope Pro Softwareand Cores User Guide)的85页,它里面说的Keep Hierarchy JTAG Clock好像特别重要似地,可是我做实验的时候根本就没有改这两部分一样得出实验现象 恳请Walkie给我解释一下,一头雾水


3)那个实验中有这样一段约束


>>1275921322_42a56483.jpg >


我留意这个clk 的占空比40/60 但是我在实验中都把它改成了20/80怎么Chipscope中根本看不出来明显变化啊


>>1275921329_df4dbfec.jpg >


>>>


 


将一部分放大 我也没看出来 有什么变化


>>1275921318_1a73bdb3.jpg >


 


我不知道这个占空比的信息在这里有没有用?有用的话怎么能体现出来?


 


工程我也给您发过去。


4)这个ChipScope的使用还需要注意点什么没?或者能不能发点更好的Chipscope的有价值的实验过来,麻烦Walkie了。


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


 


 


我的一些理解:


1) IOSTANDARD = LVTTL  这里如果不写的话,他会使用默认的设置。默认在ISE10.1中是LVCMOS25,在ISE91中可能是 LVCMOS33。


我现在机器上是ISE10.1的版本。无法测试91下面的一些情况。


 


比较完整的描述clk和reset是:


Net sys_clk_pin LOC="c9";
Net sys_clk_pin IOSTANDARD = LVCMOS33;
Net sys_rst_pin LOC="K17";
Net sys_rst_pin IOSTANDARD = LVCMOS33;
Net sys_rst_pin PULLDOWN;
## System level constraints
Net sys_clk_pin TNM_NET = sys_clk_pin;
TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 20000 ps;
Net sys_rst_pin TIG;


 


其中TIG是忽略reset上的时序问题:


TIG (Timing IGnore) is a basic timing constraint and a synthesis constraint. It causes paths
that fan forward from the point of application (of TIG) to be treated as if they do not exist
(for the purposes of the timing model) during implementation.


 


2)Keep Hierarchy对于chipscope是相当的重要的,他的作用是:


If you use the XST synthesis tool, set the Keep Hierarchy option to Yes or Soft to
preserve the design hierarchy and prevent the XST tool from optimizing across all
levels of hierarchy in your design. Using the Keep Hierarchy option preserves the
names of nets and other recognizable components during the ChipScope Pro core
insertion stage of the flow. If you do not use the Keep Hierarchy option, some of your
nets and/or components can be combined with other logic into new components or
otherwise optimized away.


 


就是在综合的时候不进行特殊的优化,于是你的端口名字还是本来的端口名字。如果没有使用它,xst在综合的时候会进行一系列的优化,合并一些组件等,很有可能你会找不到你需要的端口,因为已经和其他的端口或者组件和在一起,并被改名了。


 


但是你这里的设计比较的小,看不太出来,如果设计很大,可优化的地方很多的话,就可以很好的体现出来Keep Hierarchy的重要性了。


 


3)其实你设置是clk的占空比,而chipscope中看到的都是非clk的信号,都是你的数据信号,这些信号一般都是在clk的上升沿触发的,所以是一个时钟周期改变一次,所以你看到都是很规整的方波。


 


你想要看到你的clk的占空比不是50%,你可以尝试2种方式,


(1)直接在chipcope中看你的clk,那么你需要将clk作为数据信号在chipscope中引出来,更为重要的是你需要一个比他快的时钟来踩它。比如你希望看到时20/80这样,那么起码应该是本来clk 10倍频的一个clk来踩你想看的clk。


(2)你可以尝试去踩clk的下降沿,在你的设计中比如


always(posedge clk or negedge clk)


begin


end


在clk的下降沿也去踩踩看。我没有试验过,你可以尝试一些,之后把结果告诉我哦。


 


4)其实资料还是相当多的,但是比较的分散


1)ise基础实验5中是chipcope的实验,http://china.xilinx.com/univ/uwkshp_ise.htm


2) EDK基础实验5也是chipcope的实验,http://china.xilinx.com/univ/uwkshp_edk.htm


 


另外,chipcope自带的help文件中也有tutorial,非常值得看一看。


 


希望对你有用。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条