完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
本人安装的是Quartus17.0-Lite(配套Modelsim-Altera)
添加PLL的IP核,仿真的时候c0输出高阻,locked一直输出低; 选用:Cyclone10的10CL016E144C8 目前尝试办法: ①选择Cyclone4的器件,调用C4的PLL IP仿真,IP可以正常仿真; ②更换Modelsim SE10.5(破解版),仿真c0输出高阻; ③安装Quartus17.0-stand(破解版),仿真c0输出高阻; ④自己重新编译了ModelSim的Altera库,依然c0输出高阻; 求大神指导指导。 注:目前器件不能变更,最终是要使用Cyclone10LP的,而目前只有Quartus17.0支持Cyclone10LP;
评分
|
||
相关推荐
17个回答
|
||
|
本帖最后由 钟哥30 于 2017-11-14 10:43 编辑
zrkdzsj521 发表于 2017-11-14 09:50 我也是17.0,我直接把PLL例化作为了顶层仿真时可以的,应该是你仿真设置的不对。最直接的方法就是你把PLL的输入输出引脚绑定好,用示波器进行板载测试就知道了,手边没有示波器也可以使用signalTapII也可以的,只要有板子
最佳答案
|
|
|
|
|
|
各位,再补一个顶层代码和testbench代码:
①top_pll3: module top_pll3( clk25M, rst_n, clk_50M, locked ); input clk25M; input rst_n; output clk_50M; output locked; wire clk_50M; wire locked; wire clk_c0; PLL1 PLL_50M( .areset (~rst_n), .inclk0 (clk25M), .c0 (clk_50M), // .c1 (clk_200M) .locked (locked) ); endmodule ②testbench代码: `timescale 1 ps/ 1 ps module top_pll3_vlg_tst(); // constants // general purpose registers // test vector input registers reg clk25M; reg rst_n; // wires wire clk_50M; wire locked; // assign statements (if any) top_pll3 i1 ( // port map - connection between master ports and signals/registers .clk25M(clk25M), .clk_50M(clk_50M), .locked(locked), .rst_n(rst_n) ); initial begin // Initialize Inputs rst_n = 1'b1; #10000; rst_n = 1'b0; #10000; rst_n = 1'b1; #10000; /* rst_n = 1'b0; #1000; rst_n = 1'b1; #1000; */ end //clk initialzation initial begin clk25M = 1'b0; forever #20 clk25M = ~clk25M; end endmodule |
|
|
|
|
|
没用过 帮你顶下
|
|
|
|
|
|
学习一下专业技能。
|
|
|
|
|
|
咨询过一些大牛,和多次尝试,问题出在软件上,正版的软件也没办法仿真。
目前一个比较折中的解决方案是:器件选10CL16型号,但是PLL选用Cyclone V的PLL库,是能够正常综合编译、仿真的。但这种办法还没有进行上板验证。 另外:过几天出新版17.1,到时候再尝试一下,看看是否可以解决,同时咨询技术支持,看看是否有合理的解释,后面有新结果了再更新,希望不要出现同样的坑。 |
|
|
|
|
|
你去掉复位引脚试试,IP设置去掉
|
|
|
|
|
|
|
|
|
|
|
|
引脚绑定的对吗?板子上的晶振有没有起振啊
|
|
|
|
|
|
|
|
|
|
|
|
最近Intel刚刚更新了Quartus17.1,我下载使用之后,发现还是PLL输出高阻态,总感觉是PLL核本身有问题,Intel的IP核某些状态位无法跳转导致的输出高阻。
|
|
|
|
|
|
本帖最后由 钟哥30 于 2017-11-14 08:45 编辑
测试文件输入激励不对吧,20ns对应50MHz,你例化的PLL输入是25MHz那么周期应该是40ns,而你的测试文件里面时间单位是ps周期是40ps,那么你的测试文件周期激励是25000MHz,所以与你当时例化是PLL的输入时钟不符合,将测试文件里面的时钟单位改了如`timescale 1 ps/ 1 ps 改成 `timescale 1 ns/ 1 ps应该就可以了,仅供参考 |
|
|
|
|
钟哥30 发表于 2017-11-14 08:43 20ns反转,正反各反转一次才是一个周期,20ns对应是25MHz是没错的; 另外关于仿真时间设置,我之前设置过1ns/1ps,但输出没区别,后面就没有改了。仿真时间设置,我之前只是调整了testbench,以及软件里面的setup sim仿真设置,按你这一说,我是不是top、PLL模块里面的仿真时间没设置影响的呢?我回去再试一下给你答复,多谢你的建议。 |
|
|
|
|
|
我今天试了一下,进行RTL仿真的时候还是不行,最好按照你的方法完全跑了一遍,也不行。
然后我尝试了一下Gate Level仿真,通过门级仿真之后,c0就有输出了,就是RTL仿真有问题,难道我仿真设置哪错了?还是? |
|
|
|
|
|
正确解决办法:
①我尝试了各种办法,今天尝试选择VHDL输出的IP,然后顶层文件、testbench继续保持Verilog格式,然后仿真(设置Verilog,与testbench格式一样),最终RTL仿真可以正常仿真,门级仿真当然也可以。 ②经过这么多次的尝试,和各位大牛的建议,我估计还是IP核针对Verilog的时候有点bug。目前VHDL完全正常。 ③钟哥不知道是VHDL模式的IP还是Verilog的IP,如果是Verilog的,那可能与电脑有关,但我自己换了2台电脑尝试,Verilog不行,也许是人品不好,也许是Verilog模式的IP有bug。 |
|
|
|
|
|
学习了,不错的经验技术贴,顶楼主。
|
|
|
|
|
|
不错,很好的经验分享,辛苦麻烦了,欠缺这方面的资料,非常感谢。
|
|
|
|
|
|
我也出现了这个问题,最后是把复位去除掉,就能用了
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
NVMe高速传输之摆脱XDMA设计49:主要功能测试结果与分析1
1280 浏览 0 评论
888 浏览 0 评论
842 浏览 0 评论
619 浏览 0 评论
977 浏览 0 评论
4424 浏览 63 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:01 , Processed in 1.024831 second(s), Total 106, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4466