Перейти к содержанию
    

Всем добра.

Тренируюсь на кошках, пытаясь понять, чего не так в моём описании проекта, пока что в его зачаточном состоянии


image.thumb.png.fdc6baffa850c1b00cc113cdeb4fbee7.png

Отсылка ведёт к верхнему уровню
 

Спойлер
import Gowin_rPLL_top_pkg::*;
    
module Gowin_rPLL_top (

    input  logic FPGA_CLK,
    input  logic FPGA_RST_N,
    
    output logic F_LED1,
    output logic F_LED2,
    output logic F_LED3,
    output logic F_LED4,
    
    output logic reset,
    output logic clkout,
    output logic clkoutd,
    output logic clkoutd3,
    output logic clkoutp,
    output logic lock
    
);



    logic FPGA_CLK_BUFG;

    // clock buffer
    BUFG BUFG_inst (

        .I  ( FPGA_CLK      ),
        .O  ( FPGA_CLK_BUFG ) 

        );

    logic  Gowin_rPLL_FPGA_CLK;
    assign Gowin_rPLL_FPGA_CLK = FPGA_CLK_BUFG;

    logic  Gowin_rPLL_clkout;
   
    logic  Gowin_rPLL_clkoutd;
    assign clkoutd = Gowin_rPLL_clkoutd;
    
    logic  Gowin_rPLL_clkoutd3;
    assign clkoutd3 = Gowin_rPLL_clkoutd3;
    
    logic  Gowin_rPLL_clkoutp;
    assign clkoutp = Gowin_rPLL_clkoutp;
    
    logic  Gowin_rPLL_lock;
    assign lock = Gowin_rPLL_lock;
    
    ARESET_CNT_t areset_cnt;
    
    assign F_LED1 = areset_cnt [ ARESET_CNT_WIDTH - 1 ];
    assign F_LED2 = areset_cnt [ ARESET_CNT_WIDTH - 2 ];
    assign F_LED3 = areset_cnt [ ARESET_CNT_WIDTH - 3 ];
    assign F_LED4 = areset_cnt [ ARESET_CNT_WIDTH - 4 ];
    
    
    logic  Gowin_rPLL_reset;    
    assign Gowin_rPLL_reset = areset_cnt [ ARESET_CNT_WIDTH - 1 ];
    
    assign reset = Gowin_rPLL_reset;
    
    always_ff @(posedge FPGA_CLK_BUFG)
        areset_cnt <= !FPGA_RST_N ? '0 : areset_cnt + 1'b1;
    
    Gowin_rPLL Gowin_rPLL_inst (
    
        .clkin     ( Gowin_rPLL_FPGA_CLK  ),
        .reset     ( Gowin_rPLL_reset     ),
        .clkout    ( Gowin_rPLL_clkout    ),
        .clkoutd   ( Gowin_rPLL_clkoutd   ),
        .clkoutd3  ( Gowin_rPLL_clkoutd3  ),
        .clkoutp   ( Gowin_rPLL_clkoutp   ),
        .lock      ( Gowin_rPLL_lock      )
        
    );
    
    DQCE DQCE_Gowin_rPLL_clkoutd_inst (
    
        .CLKIN      ( Gowin_rPLL_clkout   ), 
        .CE         ( Gowin_rPLL_lock     ), 
        .CLKOUT     ( clkout              )
        
    );

endmodule : Gowin_rPLL_top

 

и, как понимаю, файлу описания временных ограничений

// Clocks
create_clock -name clk50MHz -period 20 [get_ports {FPGA_CLK}]
create_clock -name clk50MHzB -period 20 [get_nets {FPGA_CLK_BUFG}]

Само описание ошибки нигде (в т.ч. во встроенной справке) не нашёл. Подозреваю, что не существенно, но внутренний перфекционист требует разобраться. Весь проект прилагаю.

 

PLL_test.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть констрейнт на тактовый сигнал не совпадает с параметрами настройки rPLL (либо частота, либо имя сигнала)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уже чего только не пробовал: а имеет смысл написать в Gowin напрямую, чтобы понять всю глубину их глубин? Вроде как на сайте и форма есть соответствующая, или я не там смотрел?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

39 минут назад, Zversky сказал:

Уже чего только не пробовал: а имеет смысл написать в Gowin напрямую, чтобы понять всю глубину их глубин? Вроде как на сайте и форма есть соответствующая, или я не там смотрел?

Для веса нужно чтобы писал кто-то с корпоративной почты и не из России. Есть тут добровольцы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 минут назад, makc сказал:

Есть тут добровольцы?

Почему именно тут? У того, кто тут, вполне м.б. (и, даже, уже есть) такой товарищ, который ему уже каких только лицензий на себя не достал. Так что попросить замолвить ещё одно словечко совсем надо не обременяет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Написал. Пока что пришёл ответ в скрепке...

Gmail - Gowin Design Services Response Received - Void.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 минут назад, Realking сказал:

BUFG не юзай

Спасибо, а можешь носом ткнуть, где сиё зело не приветствуется письменно? Ну или сам выскажись развёрнутее, будь добр.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 hours ago, Zversky said:

Спасибо, а можешь носом ткнуть, где сиё зело не приветствуется письменно? Ну или сам выскажись развёрнутее, будь добр.

Это же говин ))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Realking сказал:

Это же говин ))))

Говинда, скорее? )) Ну и что, какая связь? )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 9/30/2022 at 3:05 AM, Zversky said:

ак понимаю, файлу описания временных ограничений

// Clocks
create_clock -name clk50MHz -period 20 [get_ports {FPGA_CLK}]
create_clock -name clk50MHzB -period 20 [get_nets {FPGA_CLK_BUFG}]

Само описание ошибки нигде (в т.ч. во встроенной справке) не нашёл. Подозреваю, что не существенно, но внутренний перфекционист требует разобраться. Весь проект прилагаю.

не совсем понятно зачем создавать второй клок, свойста он получит от входа даже через bufg,

но может быть у внутреннего движка тикла проблемы с делением или масштабированием и надо было прописать create_clock bla-bla-bla -period 50MHz blablabla или задать set_time_format

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

39 минут назад, des00 сказал:

set_time_format

такой команды TCL Gowin-а не знает, как, впрочем и create_clock bla-bla-bla -period 50MHz

image.thumb.png.cfb9ea5534d167268604465ba4280218.png

//Copyright (C)2014-2022 GOWIN Semiconductor Corporation.
//All rights reserved.
//File Title: Timing Constraints file
//GOWIN Version: 1.9.8.07 
//Created Time: 2022-10-04 09:57:49
create_clock -name clk50MHz -period 20 -waveform {0 10} [get_ports {FPGA_CLK}]

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

30 минут назад, Zversky сказал:

такой команды TCL Gowin-а не знает, как, впрочем и create_clock bla-bla-bla -period 50MHz

Зачем гадать, всё описано в документе SUG940-1.4E:
image.thumb.png.f25cbfe34e6ae0d66784ad21a6a70397.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 minutes ago, makc said:

Зачем гадать, всё описано в документе SUG940-1.4E:

ну для альтеры можно так задавать. вообще, как понимаю, не сходится 50МГц тактовой и 50 чего то там в PLLке. посмотреть значения свойств этих сигналов и станет ясно. Если это возможно конечно. Сталкивался, когда 1/20нс, софт считал как 49.99999999МГц, хотя в отсчетах округлял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

28 минут назад, makc сказал:

Зачем гадать, всё описано в документе SUG940-1.4E:

У меня все документы скачаны и ходы записаны (и в закрома всё по Gowin-у из документации по кр. мере залил тоже я (кстати, пока уже обновить многое: я залью при случае?).

Но, по-моему, инструмент GUI - не гадание, а имеет такое же право быть выслушанным, как и Software User Guide.
И уж тем более, раз он показывает как интерпретируются эти 20, чтоб быть уверенным в успехе..

Да и set_time_format не даст употребить. В общем, второе врачебное мнение (правда, от одного и того же врача, но не суть).
Но вот что интересно далее: IDE правильно дифференцирует (конечно просто по расширению и тому, как я это в проекте прописал) файл временных ограничений

image.thumb.png.f5ef8173b7f12523fc6673db208f528d.png

но в отчёте e:\Gowin\IDE\impl\pnr\PLL_test.rpt.txt

//Copyright (C)2014-2022 Gowin Semiconductor Corporation.
//All rights reserved.


1. PnR Messages

  <Report Title>: PnR Report
  <Design File>: E:\Gowin\IDE\impl\gwsynthesis\PLL_test.vg
  <Physical Constraints File>: E:\Gowin\Src\CST\PLL_test.cst
  <Timing Constraints File>: ---
  <PnR Version>: V1.9.8.07
  <Part Number>: GW2AR-LV18LQ144C8/I7
  <Device>: GW2AR-18
  <Created Time>:Tue Oct 04 10:57:50 2022

В строке 

<Timing Constraints File>: ---

Как это можно понять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...