赛灵思
直播中

桂莅鑫

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

代码不适用于更高的数据速率

嗨,
我在matlab中设计了一个QPSK调制解调,用于50 MHZ通带频率,采样率为200 msps。我使用HDL编码器生成vhdl代码。
我尝试在FPGA(ML605板)中运行代码。没有在代码本身内部使用任何ADC和DAC,我将调制器的输出环回到解调器输入。但是当我在Chipscope中查看时结果不正确。
我尝试使用ISIM模拟系统。它在模拟模式下工作得非常好
而当我设计调制解调器的频率为25 mhz,数据速率为100 msps时,即使在硬件上也能正常工作,而且望远镜的结果是正确的。
可能是因为我的结果不符合第一种情况下的硬件设计。
最后我的要求是拥有75 Mhz的运营商IF。任何人都可以提出建议吗?

以上来自于谷歌翻译


以下为原文

Hi,
I have designed a QPSK modulation demodulation  in matlab for 50 MHZ pas***and  frequency with 200 msps sampling rate.I used an HDL coder to generate vhdl code. I tried running the code in FPGA(ML605 board) .Without  using  any ADC and DAC inside the code itself I looped back output of modulator to demodulator input .But result was not correct when I viewed in Chipscope. I tried simulating the system using ISIM.It was working very fine in simulation mode

Whereas when  I designed the modulator demodulator for 25 mhz frequency and 100 msps data rate,it was working fine even in hardware and the chipscope results were correct..

What could be the reason that my results are not as per the design in hardware in the first case.

At the end my requirement is to have a 75 Mhz carrier IF.Can anyone give suggestions?

回帖(2)

陈舒斌

2019-4-9 13:50:24
嗨,
你检查过静态时序分析的结果吗?
在低时钟速率下工作良好的设计可能在高时钟速率下失败,因为触发器之间的延迟对于该时钟频率来说太高。
200 MSPS是一种数据速率,需要特别注意系统时钟的Fmax。
自动代码生成对于简单原型很方便,但是当需求变得更加苛刻时,通常会失败。
有一个很好的综合 
Eilert

以上来自于谷歌翻译


以下为原文

Hi,
have you checked the results of the static timing analysis?
 
A design that works well at a low clock rate can fail at a high clock rate because the delays between the flipflops are too high for that clock frequency.
 
200 MSPS is a datarate that requires special attention for Fmax of the System Clock.
Automated code generation is convenient for simple prototypes, but often fails when the requirements become more demanding.
 
Have a nice synthesis
  Eilert
举报

潘璐

2019-4-9 14:03:02
我的建议是聘请一位经验丰富的FPGA顾问来指导您完成这项工作。
作为@ eilertsaid,SimuLink生成的HDL代码可能远非最佳时序或资源方面。
经验丰富的FPGA设计人员可以以更优化的方式将您的Matlab / SimuLink代码映射到硬件,从而使其更小并且能够更快地运行。
Virtex-6中的200MHz应该是非常可行的。
我在这里假设你的时钟受到了适当的限制,并且工具无法进行计时。
如果你没有时钟限制,那么这就是开始的地方。

以上来自于谷歌翻译


以下为原文

My advice would be to hire an experienced FPGA consultant to walk you through this. As @eilert said, HDL code generated by SimuLink could be far from optimal timing-wise or resource-wise. An experienced FPGA designer could map your Matlab/SimuLink code to hardware in a much more optimal way that makes it smaller and able to run faster. 200MHz in a Virtex-6 should be very doable.
 
I'm assuming here that you have your clock constrained properly and that the tools just can't make timing. If you don't have your clocks constrained then that's the place to start.
举报

更多回帖

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