可以使用Stratix IV GX ES器件中的SPI 4.2内核共享TX和RX的PLL吗?-Altera-Intel社区-FPGA CPLD-ChipDebug

可以使用Stratix IV GX ES器件中的SPI 4.2内核共享TX和RX的PLL吗?

是的,可以使用Stratix®IVGX器件中的Altera®SPI4.2MegaCore®功能共享PLL。与其他FPGA器件相比,Stratix IV GX ES在发送(TX)和接收(RX)之间与SPI 4.2内核的PLL共享更为复杂。

用于Stratix IV GX ES的SPI 4.2内核的ALTLVDS宏功能不支持Tx和Rx的PLL内部共享。 DPA错误调整所需的时间明显长于选择最佳阶段的预期时间。即使在DPA锁定信号被置位后,这也会导致非理想相位并导致数据位错误。重置DPA电路也会触发此问题。

要启用PLL共享,请按照以下步骤设置进行操作:

1.在ALTLVDS Megafunction的参数设置选项卡中选中“使用外部PLL”

2.在ALTLVDS Megafunction的频率/ PLL设置选项卡中取消选中“对接收器和发送器使用共享PLL”

3.在ALTLVDS Megafunction的第3个DPA设置选项卡中选中“启用PLL校准”

4.执行Megawizard插件管理器并创建一个ALTPLL宏功能。根据系统配置应用适当的器件速度等级和时钟输入频率。选择Left_Right PLL

4-1。在PLL Reconfiguration选项卡的Dynamic phase configuration下,选择“为动态相位重新配置创建可选输入”

4-2。在输出时钟选项卡 – clk c0中,输入输出时钟频率(以LVDS数据速率运行的快速时钟)。这个时钟将输入rx_inclock和tx_inclock。相对于VCO时钟设置相移= -180度。将占空比设置为50%。选择“将这些时钟设置用于DPA时钟”

4-3。在输出时钟选项卡 – clk c1中,输入输出时钟频率(快速时钟/反序列化因子)。将此时钟输出馈送到tx_enable和rx_enable。将相移设置为[(反序列化因子-2)/反序列化因子] * 360度。将占空比设置为(100 /反序列化因子)

4-4。在输出时钟选项卡 – clk c2中,输入输出时钟频率(快速时钟/反序列化因子)。将此时钟输出提供给rx_syncclock。将相移设置为(-180 degress / deserialization factor)。将占空比设为50%

图1 PLL到LVDS时钟方案

5.更改SPI4.2 Rx内核模块

5-1。在<SPI4变体名称> _rx_core.v中,将<SPI4变体名称> _rx_data_phy_altlvds的实例化替换为以下实例化:

<SPI4变体名称> _rx_data_phy_altlvds rx_data_phy_altlvds(

.pll_areset(pll_areset),

5-2。在<SPI4变体名称> .v(SPI4.2 Rx核心包装器)中,包括以下实例:

<SPI4变体名称> _pl4_rx_core <SPI4变体名称> _pl4_rx_core_inst(

.rx_inclock(rx_inclock),

…);

6.更改SPI4.2 Tx核心模块:

6-1。在<SPI4变体名称> _tx_core.v中,将<SPI4变体名称> _tx_data_phy_altlvds的实例化替换为下面的实例:

<SPI4.2变体名称> _tx_data_phy_altlvds tx_data_phy_altlvds(

.tx_enable(tx_enable),//输入

6-2。在<SPI4变体名称> .v(SPI4.2 Tx核心包装器)中,包括以下实例:

<SPI4.2变体名称> _pl4_tx_core <SPI4.2变体名称> _pl4_tx_core_inst(

.trefclk(trefclk),

……);

7. SPI4.2接收器ALTLVDS rx_out总线输出使用rx_outclock注册。

8. SPI4.2发送器ALTLVDS tx_in总线预先注册tx_coreclock

9.反转共享PLL锁定输出并将其馈送到ALTLVDS Megafunction的pll_areset端口。

请登录后发表评论

    没有回复内容