赛灵思
直播中

叶亮

7年用户 225经验值
私信 关注
[问答]

为什么我的Pcore没有产生输出?

我在Verilog中编写了自己的VGA驱动程序。
我想将它集成到Pcore中,这样我就可以使用Microblaze更新显示。
好消息:
VGA驱动程序工作。
我有一个我可以显示的测试模式,如果我只是下载比特流并在FPGA中没有其他任何东西运行它。
坏消息:
将它集成到Pcore后,我没有得到任何输出到显示器。
组态:
采用XC3S500E FPGA和VGA端口的Digilent Spartan 3E入门板
EDK(XPS和XSDK)14.3
至今:
VGA驱动程序已知很好,并且不需要输入来运行testpattern
独立和Pcore配置的UCF定义了相同的引脚
Pcore只有5个输出(R,G,B,VS,HS)作为单个位,应该很简单
Pcore在XPS中定义和映射这些端口
C代码在CPU上执行,寄存器似乎可以访问
我没有对输出进行任何保护,它们应该自动运行
我错过了一些明显的东西吗
或者,不太可能,微妙?
有关调试指导的任何建议(没有实验室访问o-scope或逻辑分析仪,所以也许ChipScope可以查看输出是否正在发生)?
如果需要,我可以发布文件。

以上来自于谷歌翻译


以下为原文

I wrote my own VGA driver in Verilog. I want to integrate it into a Pcore so I can update the display using Microblaze.

The good news:
The VGA driver works. I have a testpattern that I can display if I just download the bitstream and run it with nothing else in the FPGA.

The bad news:
After integrating it into the Pcore, I don't get any output to the display.

Configuration:
Digilent Spartan 3E Starter Board with XC3S500E FPGA and VGA port
EDK (XPS and XSDK) 14.3

So far:
The VGA driver is known good and should require no inputs to run the testpattern
The UCF for both the standalone and Pcore configurations have the same pins defined
The Pcore has only 5 outputs (R,G,B,VS,HS) as single bits, should be simple
The Pcore has these ports defined and mapped in XPS
C code executes on the CPU and the registers appear to be accessible
I haven't put any guard on the outputs, they should just automatically run

Am I missing something obvious? Or, less likely, subtle? Any recommendations for directions to debug (no lab access to o-scope or logic analyzer, so maybe ChipScope to see if output is happening)?

I can post the files if desired.

回帖(3)

李欣媛

2019-7-17 14:24:59
只是检查 - 除了Bus2IP_Clk之外,我还需要将一个单独的时钟连接到Pcore吗?
这个时钟频率为50 MHz,我用计数器对采样率为25 MHz的频率进行下采样。

以上来自于谷歌翻译


以下为原文

Just checking - do I need to connect a separate clock to the Pcore aside from the Bus2IP_Clk? This is clocked at 50 MHz and I downsample that to the 25 MHz for the VGA with a counter.
举报

胡丹丹

2019-7-17 14:36:43
您可以尝试模拟您的设计,看它是否像您期望的那样,但是,这可能不会显示太多。
使用布料计数器“下采样”Bus2IP_Clk并不是特别好的做法。
结构时钟的偏差(取决于扇出,我认为VGA驱动器相当高)可能会影响您的VGA输出性能。
如果必须使用计数器(而不是使用DCM生成25MHz时钟),则应使用它来创建时钟使能并从50MHz时钟+生成的时钟使能运行VGA逻辑。
您是否已检查合成并映射与您的pcore相关的报告,以查看是否删除了任何重要逻辑?
你是否符合设计时间?
你确定你已经正确地将VGA驱动程序实例化到了pcore中吗?
----------“我们必须学会做的事情,我们从实践中学习。”
- 亚里士多德

以上来自于谷歌翻译


以下为原文

You could try simulating your design to see if it behaves as you expect, however, this might not show much.
 
"Downsampling" the Bus2IP_Clk with a fabric counter is not particularly good practice. The skew from the fabric clock (depending on fanout, which I imagine to be quite high for a VGA driver) may well be affecting your VGA output performance. If you must use a counter (rather than generate a 25MHz clock with a DCM), you should use it to create a clock enable and run your VGA logic from the 50MHz clock + the generated clock enable.
 
Have you checked the synthesis and map reports relating to your pcore to see if any important logic is removed? Do you meet timing for the design?
 
Are you sure you have instantiated the VGA driver into the pcore correctly?
----------
"That which we must learn to do, we learn by doing." - Aristotle
举报

李欣媛

2019-7-17 14:55:29
发现了问题。
我没有正确更新Pcore中的版本,因此HDL更改没有被拉入。
谢谢hgleamon1!

以上来自于谷歌翻译


以下为原文

Found the problem. I was not properly updating the version in the Pcore, so the HDL changes weren't getting pulled in.
 
Thanks hgleamon1!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分