Jump to content
    

Не подключается тактовый генератор к порту ZYNQ XC7Z010, плата EBAZ4205

Приветствую.

Это мой первый опыт с FPGA ZYNQ XC7Z010CLG400  и VIVADO 2017.1

Не удаётся подключить кварцевый генератор к входу "E7" - именно так он обозначен на схеме.

После синтеза выдаёт ошибку " Cannot set LOC property of ports, Site location is not valid"

Вручную в параметрах I/O port  предлагает любые другие порты кроме "E7"

Соответственно не работает программа из "двух строчек"...

Иными словами - HELO WORLD с FPGA не получается. Хотя  плата рабочая и светодиод

с китайской прошивкой мигает.

 

//файл "my_leds.v"

module my_leds ( input  sys_clk_pin , output  reg[1:0] leds = 0);
reg  [17:0] count = 0;
reg   r_leds;
initial begin 
    count <= 0;
    r_leds <= 0;
end
always @(posedge sys_clk_pin)
begin
    if(count == 120000)
        begin
            count <= 1;
            r_leds = !r_leds;
            leds[0] = r_leds;
        end
		else 
    		count  <= count+1;
end
endmodule

//и соответстввенно файл "constr.xds"
set_property PACKAGE_PIN W13 [get_ports {leds[0]}]
set_property PACKAGE_PIN W14 [get_ports {leds[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {leds[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {leds[0]}]

set_property PACKAGE_PIN E7 [get_ports sys_clk_pin]
set_property IOSTANDARD LVCMOS33 [get_ports sys_clk_pin]

 

Share this post


Link to post
Share on other sites

Ничего удивительного, т.к. это порт тактирования процессора (PS), а не программируемой логики (PL):

image.thumb.png.95610ea031fa2114df1299916a9b2960.png

Share this post


Link to post
Share on other sites

Понял, спасибо.
Так это получается, что без ЦПУ не запустить в "чистом виде ПЛИС". Да?

Пойду учить матчасть -)

 

Edited by pnp_mechanic

Share this post


Link to post
Share on other sites

Через JTAG можно загружать, но это будет работать только на столе. Для автономной работы нужна процессорная часть, которая должна загружать битстрим в PL.

Для тактовой в PL вы можете использовать PS (если на вашей плате внешний клок подан только на неё) -- нужно создать в IP Integrator ps7_hw блок, зайти в его свойства, там включить подачку тактового сигнала в PL (fclk0, например), указав его частоту, Vivado родит файл-"обёртку" (wrapper) для ps7_hw, этот файл инстанцируете к себе в проект (можно как top-level, но я предпочитаю как модуль на топе), с его порта fclk0 получите тактовую для PL. 

Share this post


Link to post
Share on other sites

5 hours ago, dxp said:

Через JTAG можно загружать, но это будет работать только на столе. Для автономной работы нужна процессорная часть, которая должна загружать битстрим в PL.

Для тактовой в PL вы можете использовать PS (если на вашей плате внешний клок подан только на неё) -- нужно создать в IP Integrator ps7_hw блок, зайти в его свойства, там включить подачку тактового сигнала в PL (fclk0, например), указав его частоту, Vivado родит файл-"обёртку" (wrapper) для ps7_hw, этот файл инстанцируете к себе в проект (можно как top-level, но я предпочитаю как модуль на топе), с его порта fclk0 получите тактовую для PL. 

Какая-то программная инициализация PS при этом необходима или тактовый сигнал пойдет на PL даже без программы для PS?

Share this post


Link to post
Share on other sites

Сам не пойдет. Нужно либо чтобы в PS стартовал загрузчик, который в соответствии с конфигурацией все запустил. Либо запускать из SDK/Vitis, который сам запустит специальный скрипт (соответсвующий вашей конфигурации).

Если нужно просто "поморгать светодиодом", то возьмите встроенный клок. Порядка 50МГц +-15% (или чуть другой, нужно уточнить в документации)

Вставьте в код, на clk будет тактовый сигнал:

STARTUPE3 STARTUPE3_inst (
  .CFGMCLK(clk)
);

 

Share this post


Link to post
Share on other sites

Всё хорошо получилось, спасибо за советы. 

Подключил процессорную часть и далее уже FPGA

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...