O erro abaixo do ajuste ocorrerá se a instaução do Gerenciador de plug-in megawizard® ALT2GXB no design compilado tiver a seguinte configuração. O canal é um full duplex ou recebe apenas, internas de canal ou interface de canal está habilitada e a frequência do clock de entrada, especificada no Megawizard ALT2GXB é superior a 325 MHz. Este erro não ocorre para uma configuração apenas TX.
Erro do adaptador de software Quartus® II: "O divisor GXB REFCLK não pôde ser adicionado após o sinal "rx_cruclk[0]" porque ele alimenta a porta cruclk do canal receptor GXB alt2gxb:alt2gxb_component| channel_rec[0].receive" que usa interface de canal ou reconfiguração interna de canal"
Para resolver este erro, use o procedimento a seguir.
1. Altere a frequência do clock de entrada (>325 MHz) no Megawizard ALT2GXB para metade do valor.
2. Instale o código do divisor REFCLK (mostrado abaixo) em seu design e conecte a saída do divisor REFCLK às portas de entrada de clock ALT2GXB.
Para a configuração duplex, conecte a saída do divisor REFCLK às portas de entrada de clock ALT2GXB. Se a frequência de clock de entrada especificada na tela 'Geral' do Megawizard ALT2GXB for superior a 325 MHz, conecte a saída do divisor REFCLK às portas 'pll_inclk' e 'rx_cruclk' da instanência ALT2GXB. Se a frequência acima for especificada na tela 'RECONFIG', conecte a saída do divisor REFCLK às portas 'pll_inclk_alt' e 'rx_cruclk_alt'.
Por exemplo, se você tiver uma configuração full-duplex e tiver especificado 390,625 MHz na tela 'Geral' do Megawizard ALT2GXB, altere a frequência para 195,3125 MHz e conecte a saída do divisor REFCLK às portas pll_inclk e rx_cruclk do ALT2GXB.
Para uma instantização ALT2GXB somente para receber, altere a frequência de entrada (>325 MHz) no Megawizard para metade do valor e conecte a saída do divisor REFCLK às portas rx_cruclk ou rx_cruclk_alt com base nas configurações de frequência do clock de referência de entrada na tela 'Geral' ou 'Reconfig' no Megawizard.
O seguinte é um exemplo de código divisor REFCLK em Verilog e VHDL.
------ código Verilog para a divisão de clock---------
módulo my_refclk_div(in, out);
entrada;
saída;
stratixiigx_hssi_refclk_divider my_refclk_divider (
.inclk(in),
.clkout(out));
defparam my_refclk_divider.enable_divider = "true";
defparam my_refclk_divider.divider_number = 0;
defparam my_refclk_divider.refclk_coupling_termination = "normal_100_ohm_termination";
endmodule
-----End
-Código VHDL para a divisão de clock----
Ieee BIBLIOTECA;
USE ieee.std_logic_1164.all;
ENTIDADE MY_REFCLK_DIVIDER É
PORTA
(
inclk: em std_logic;
outclk: fora std_logic
);
fim my_refclk_divider;
arquitetura clock_div de my_refclk_divider é
componente stratixiigx_hssi_refclk_divider IS
GENÉRICO (
enable_divider: STRING := "true";
divider_number: INTEIRO := 0; -- 0 ou 1 para numeração lógica
refclk_coupling_termination: STRING := "normal_100_ohm_termination"
);
PORTA (
inclk: in STD_LOGIC;
clkout : out STD_LOGIC);
Componente END stratixiigx_hssi_refclk_divider;
Começar
clk_divider: stratixiigx_hssi_refclk_divider
mapa da porta
(
inclk => inclk,
clkout => outclk
);
arquitetura final;