FPGA OpenRISC (bylo Verilog a FPGA (bylo FPGA Altera a NIOS))
Jan Smrz
jan.smrz na email.cz
Pondělí Únor 16 14:52:55 CET 2015
Podle toho, co popisujete jsou problemem zakmity na TCK pinu.
Privedeni TCK pres bezny pin neni problem, pokud stihate casovani. Pokud je
zapotrebi, signal se pripoji na globalni rozvod hodin, ale zpozdeni cesty mezi
pinem a vnitrnim globalnim bufrem muze byt nekdy moc velke. Pro pomale hodiny
casto staci jen lokalni rozvod hodin.
Presamplovani vam pomohlo zrejme proto, ze zakmity na pinu jsou jen kratke a
hodiny registru se zatim "netrefily" do zakmitu.
Pozn. pro prechod mezi domenami se doporucuje pouzit dvojnasobny registr. Moc se
mi tohle reseni nelibi.
J.S.
On 02/16/2015 02:40 PM, Jaroslav Buchta wrote:
> Tak dneska s log. analyzatorem se situace vyjasnila, problem byl s hodinovym
> signalem TCK/JTAG
> Ale potrebuju objasnit, proc...
>
> Signal se pouziva jako hodinovy, byl ale priveden pres bezny PIN - software
> nijak neprotestoval.
> Kupodivu vsechno celkem fungovalo, az na posuvne registry pro cteni - tam se
> stav menil vetsinou s nabeznou ale i sestupnou hranou. Logicky je to
> predpokladam spravne (prevzato):
>
> always @ (posedge tck_i or posedge rst_i)
> begin
> if(rst_i)
> data_out_shift_reg <= 32'h0;
> else if(out_reg_ld_en)
> data_out_shift_reg <= out_reg_data;
> else if(out_reg_shift_en)
> data_out_shift_reg <= {1'b0, data_out_shift_reg[31:1]};
> end
>
> Na 100% pomohlo synchronizovat hodinovy signal intenim signalem z PLL -
> nejdrive 50MHz, pak i 200MHz takto:
>
> always @(posedge syn_clk)
> begin
> tck_int <= jt_clk;
> end
>
> Byla pricina v tom, ze na fyzickem vstupu dochazelo pri sestupne hrane k
> zakmitu, nebo ve zpozdeni rozvodu internich hodin? To by ale po synchronizaci
> snad bylo stejne?
> v sdc jsou vsechny signaly definovany jako hodiny
>
> create_clock -period 40.000 -name clk clk
> create_clock -period 20.000 -name jt_clk jt_clk
> create_clock -period 20.000 -name tck_int tck_int
> derive_pll_clocks
> derive_clock_uncertainty
>
>
Další informace o konferenci Hw-list