一个cpld的案例分析
本想将CLK信号分频1/256,然后去让一个LED等闪烁。可是示波器测出来的记过是只分频到了1/2。器件是XC9572XL。<br />今天把程序改了一下,让问题暴露得更明显些,并且拍下了波形,大家都来讨论一下,看看究竟是什么问题.时钟频率是50MHZ的.<br />好象内部信号的振铃相当严重.<br />相当困惑,哪位朋友遇到过类似问题,指点一下!!<br />module pcicfg72(pclk,rst,ad,<br /> ledr //to led<br /> );<br />input pclk;<br />input rst;<br />output reg ledr;<br />output reg ad;<br />wire clk;<br />wire n_rst;<br /><br />IBUF IBUF_inst( .O(n_rst), .I(rst) );<br />BUFG BUFG_inst( .O(clk), .I(pclk) ); //Clock buffer input<br /><br />always @(posedge clk) <br /> begin<br /> ad <= ad + 1; <br /> end <br /><br />endmodule <br /><br />https://bbs.21ic.com/upfiles/img/20083/2008317104332102.jpg附件是各个信号的实际波形
CLK : 50MHZ<br />ad0 : 25M<br />ad1 : 12.5M<br />ad2 : 不稳定,大概是18.6M<br />ad3 : 25M<br />ad4 : 25M<br />ad5 : 25M<br />ad6 : 25M<br />ad7 : 25M<br /><br /><br /> <br /> 相关链接:<a href='https://bbs.21ic.com/upfiles/img/20083/2008317104841237.rar'>https://bbs.21ic.com/upfiles/img/20083/2008317104841237.rar</a>这个波形没什么问题吧?
接标准方波把探头调好再测
这是正常方波,如果还觉得不满意,则要调整输出和输入阻抗的
示波器探头的接地夹有没有良好接地?
感谢大家的回答
感谢大家的回答,这个波形好象是没什么问题,除了过冲和振铃有点大以外.<br />可能大家没有看哪个RAR附件,里面还有还几张照片,是一个8位counter的8个位.<br />按照逻辑来分析,这个counter的第0位的频率应该是CLK频率的1/2,第1位频率是clk频率的1/4,第2位是1/8,......,第7为是1/256.modelsim仿真的结果也是这样的.<br />但是,程序下载下去,运行的结果就不是这样了,第0位,第1位是正常的,第2,3位就呈现出不稳定的非周期信号,第4,5,6,7位信号稳定,频率都是CLK的1/2.<br />不知道究竟是什么问题? 器件是好的,别人给我的一个JED文件可以正常工作.<br />我换了一个12MHZ的时钟也是如此.<br />????????? 谢谢关于这个程序
此程序上面有定义rest,但在应用中却没有rest,对其复位,<br />module inv1(ad,clk,n_rst );<br />input a,b;<br />output reg c;<br />always@(posedge clk or negedge n_rst)<br />begin<br /> if(n_rst==0)<br /> ad=0;<br /> else <br /> ad=ad+1;<br />end<br />endmodule<br />kankan
楼上的说的不错~~~reset信号需要加上,signal没有初始是很危险的<br />always@(posedge clk or negedge n_rst)问题解决啦!!
问题解决啦!!<br />经过我的努力,终于找到问题的根源了,是软件的问题.<br />我用的是ISE7.1(**版),有朋友说,这个版本的软件相当不稳定,BUG很多.<br />我换了很就以前使用的ISE6.2就好了,什么问题也没有 .<br />感谢那些热心回贴的朋友,也希望用Xilinx器件的朋友小心,不要用7.1版本的ISE.现在ISE 10.1都出来了.
版本的更新真是快.
页:
[1]