ID Artikel: 000073672 Jenis Konten: Pemecahan Masalah Terakhir Ditinjau: 11/09/2012

Dapatkah PLL untuk TX dan RX dibagikan menggunakan inti SPI 4.2 di Stratix perangkat IV GX ES?

Lingkungan

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Deskripsi

Ya, PLL dapat dibagikan menggunakan fungsi Altera® SPI 4.2 MegaCore® pada perangkat Stratix® IV GX. Berbagi PLL dengan inti SPI 4.2 antara transmit (TX) dan penerimaan (RX) lebih rumit untuk Stratix IV GX ES dibandingkan perangkat FPGA lainnya.

Megafungsi ALTLVDS SPI 4.2 core untuk Stratix IV GX ES tidak mendukung pembagian internal PLL untuk Tx dan Rx. Misallignment DPA memerlukan waktu lebih lama dari yang diharapkan untuk memilih fase optimum. Hal ini akan menyebabkan fase yang tidak ideal dan mengakibatkan galat bit data bahkan setelah sinyal kunci DPA dinyatakan. Mengatur ulang sirkuit DPA juga memicu masalah ini.

Untuk mengaktifkan berbagi PLL, silakan ikuti pengaturan langkah demi langkah berikut:

1. Periksa "Gunakan PLL Eksternal" pada tab Pengaturan Parameter pada Megafungsi ALTLVDS

2. Hapus centang "Gunakan PLL yang dibagikan untuk penerima dan pemancar" di tab pengaturan Frekuensi/PLL pada Megafungsi ALTLVDS

3. Periksa "Aktifkan kalibrasi PLL" pada tab pengaturan DPA ke-3 pada Megafungsi ALTLVDS

4. Jalankan manajer plug in Megawizard dan buat Megafungsi ALTPLL. Terapkan tingkat kecepatan perangkat dan frekuensi input clock yang sesuai sesuai dengan konfigurasi sistem. Pilih Left_Right PLL

4-1. Pada tab Konfigurasi Ulang PLL, pada konfigurasi fase dinamis, pilih "Buat input opsional untuk rekonfigurasi fase dinamis"

4-2. Pada tab Clock Output - clk c0, masukkan frekuensi clock output (clock cepat berjalan dengan kecepatan data LVDS). Clock ini akan memakan rx_inclock dan tx_inclock. Atur shift fase = -180 derajat sehubungan dengan clock VCO. Atur Siklus Tugas ke 50%. Pilih "gunakan pengaturan clock ini untuk clock DPA"

4-3. Pada tab Output Clocks - clk c1, masukkan frekuensi clock ouput (faktor clock/deserialisasi cepat). Beri keluaran clock ini ke tx_enable dan rx_enable. Atur shift fase ke [(faktor deserialisasi - 2) / faktor deserialisasi] * 360 derajat. Atur Siklus Tugas ke (faktor 100/deserialisasi)

4-4. Pada tab Clock Output - clk c2, masukkan frekuensi clock output (faktor clock/deserialisasi cepat). Beri keluaran clock ini ke rx_syncclock. Atur shift fase ke (-180 faktor degress/deserialisasi). Atur siklus Tugas ke 50%

Figure 1 

Gambar 1 PLL ke Skema Clocking LVDS

5. Buat perubahan pada modul inti SPI4.2 Rx

5-1. Dalam nama variasi _rx_core.v, ganti instantiasi nama variasi _rx_data_phy_altlvds dengan instantiasi di bawah ini:

nama variasi _rx_data_phy_altlvds rx_data_phy_altlvds (

.pll_areset(pll_areset),
.pll_phasedone (phasedone),
.rx_cda_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset}),
.rx_channel_data_align (bitslip),
.rx_enable(rx_enable),
.rx_fifo_reset, lvds_reset .rx_fifo_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset}),
.rx_in(rx_in),
.rx_inclock(rx_inclock),
.rx_reset({lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset, lvds_reset}), // input [16:0],
.rx_syncclock(rx_syncclock),
.dpa_pll_cal_busy(dpa_pll_cal_busy),
.pll_phasecounterselect (phasecounterselect),
.pll_phasestep (phasestep),
.pll_phaseupdown (phaseupdown),
.pll_scanclk(scanclk),
.rx_dpa_locked(stat_rd_dpa_lvds_locked),
.rx_out(rx_out_serdes) );

5-2. Dalam nama variasi .v ( SPI4.2 Rx core wrapper), termasuk instantiasi berikut:

nama variasi _pl4_rx_core < Nama variasi SPI4>_pl4_rx_core_inst (

...

.rx_inclock(rx_inclock),
.rx_enable(rx_enable),
.rx_syncclock(rx_syncclock),
.dpa_pll_cal_busy(dpa_pll_cal_busy),
.phasecounterselect (phasecounterselect),
.phasestep(phasestep),
.phaseupdown (phaseupdown),
.scanclk(scanclk),
.phasedone (phasedone),

...);

6. Buat perubahan modul inti SPI4.2 Tx:

6-1. Dalam nama variasi _tx_core.v, ganti nama variasi _tx_data_phy_altlvds dengan instantiasi di bawah ini:

nama variasi _tx_data_phy_altlvds tx_data_phy_altlvds (

.tx_enable(tx_enable), //input
.tx_in(tx_in_i), //input
.tx_inclock(tx_inclock),//input
.tx_coreclk(tx_coreclk),
.tx_out(tx_out), //output
.tx_outclock(tx_outclock) //output );

6-2. Dalam nama variasi .v ( pembungkus inti SPI4.2 Tx), sertakan instantiasi berikut:

nama variasi _pl4_tx_core _pl4_tx_core_inst (

...

.trefclk (trefclk),
.tx_enable(tx_enable),
.tx_coreclk(tx_coreclk),

... );

7. Output bus rx_out ALTLVDS penerima SPI4.2 terdaftar pada rx_outclock.

8. Bus tx_in ALTLVDS pemancar SPI4.2 telah terdaftar pada tx_coreclock.

9. Putar keluaran kunci PLL bersama dan masukkan ke port pll_areset Megafungsi ALTLVDS.

Produk Terkait

Artikel ini berlaku untuk 1 produk

Stratix® IV GX FPGA

Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.