|
|
  |
Проблема с добавлением IP Core в проект |
|
|
|
Apr 14 2016, 14:01
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 14-04-16
Пользователь №: 91 286

|
Здравствуйте! Не могу решить следующую проблему: Цитата ERROR:Xst:528 - Multi-source in Unit <top> on signal <control<3>>; this signal is connected to multiple drivers. Подключаю ICON, VIA и ILA. Код топового файла следующий: (Привожу часть кода, где используется переменная control) Код `timescale 1ns / 1ps
module top ( input clk, // опорный сигнал input enable, // кнопка output reg block_5V, // снятие блокировки output reg [4:0] cod, // код output reg comand, // команда output reg ready // готовность ); wire [19:0] kod1; // массив исходных значений последовательностей кодов wire [19:0] kod2; wire [19:0] kod3; wire [19:0] kod4; wire [19:0] kod5; reg [4:0] i; // счетчик последовательностей кодов reg [20:0] cnt; // счетчик для установления времени интервалов wire [35:0] control;
sourse sourse ( .clk(clk), .kod1(kod1), .kod2(kod2), .kod3(kod3), .kod4(kod4), .kod5(kod5) );
ipcore_icon_verilog ICON ( .CONTROL0 (control) );
ipcore_ila_verilog ILA ( .CLK (clk), .CONTROL (control), .TRIG0 (block_5V), .TRIG1 (cod), .TRIG2 (comand), .TRIG3 (ready), .TRIG4 (enable) );
ipcore_vio_verilog VIO ( .CLK (clk), .CONTROL (control) );
endmodule
|
|
|
|
|
Apr 14 2016, 14:10
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Цитата(RinettaFox @ Apr 14 2016, 17:01)  Не могу решить следующую проблему: Он же написал Цитата Multi-source in Unit <top> on signal <control<3>>; this signal is connected to multiple drivers. Т.е. 3 разряд сигнала control имеет в качестве входного драйвера несколько источников, чего быть не может, т.е. скорее всего перепутали input/output. Приведите для всех модулей часть кода с описанием портов.
|
|
|
|
|
Apr 14 2016, 14:31
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 14-04-16
Пользователь №: 91 286

|
Да вроде верно все. Код `timescale 1ns / 1ps
module ipcore_icon_verilog( inout [35:0] CONTROL0 );
ipcore_icon ICON ( .CONTROL0(CONTROL0) // INOUT BUS [35:0] );
endmodule Код `timescale 1ns / 1ps module ipcore_ila_verilog( inout [35:0] CONTROL, input CLK, input TRIG0, input [4:0] TRIG1, input TRIG2, input TRIG3, input TRIG4 );
ipcore_ila ILA ( .CONTROL(CONTROL), // INOUT BUS [35:0] .CLK(CLK), // IN .TRIG0(TRIG0), // IN BUS [0:0] .TRIG1(TRIG1), // IN BUS [4:0] .TRIG2(TRIG2), // IN BUS [0:0] .TRIG3(TRIG3), // IN BUS [0:0] .TRIG4(TRIG4) // IN BUS [0:0] );
endmodule Код `timescale 1ns / 1ps module ipcore_vio_verilog( inout [35:0] CONTROL, input CLK, input [7:0] SYNC_IN, output [7:0] SYNC_OUT ); ipcore_vio VIO ( .CONTROL(CONTROL), // INOUT BUS [35:0] .CLK(CLK), // IN .SYNC_IN(SYNC_IN), // IN BUS [7:0] .SYNC_OUT(SYNC_OUT) // OUT BUS [7:0] );
endmodule
|
|
|
|
|
Apr 15 2016, 01:50
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 14-04-16
Пользователь №: 91 286

|
Возможно как-то использование этих IP Core для моей программы на этой ПЛИС, если буферы с z-состоянием отсутствуют? Так же в моем коде выходным сигналам должны присваиваться в некоторых местах именно z-состояния. Объясните пожалуйста подробнее. Программирую на ПЛИС не так давно, мне не совсем понятно.
Сообщение отредактировал RinettaFox - Apr 15 2016, 01:52
|
|
|
|
|
Apr 15 2016, 06:08
|
Частый гость
 
Группа: Участник
Сообщений: 156
Регистрация: 15-04-10
Пользователь №: 56 673

|
Цитата(RinettaFox @ Apr 15 2016, 05:50)  Так же в моем коде выходным сигналам должны присваиваться в некоторых местах именно z-состояния. Буферы ввода-вывода с третим(z) состоянием имеются только на портах ввода-вывода. Иными словами вы можете использовать inout или out с z-состоянием только в top модуле, но никак не во внутренних. Такова аппаратная архитектура современных ПЛИС. Цитата(RinettaFox @ Apr 15 2016, 05:50)  Возможно как-то использование этих IP Core для моей программы на этой ПЛИС В том виде, в котором делаете вы, нельзя, так как шина control двунаправленная. Разделите прием и передачу на две независимые шины.
Сообщение отредактировал likeasm - Apr 15 2016, 08:45
|
|
|
|
|
Apr 16 2016, 03:45
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 14-04-16
Пользователь №: 91 286

|
Спасибо всем за ответ, буду разбираться сейчас.
|
|
|
|
|
Apr 16 2016, 10:35
|
Местный
  
Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653

|
Принцип работы tristate буфера здесь вообще ни при чём! У ICON модуля шина CONTROL нужна для управления, например, лог.анализатором ILA. Связкой ICON + ILA я когда-то пользовался, всё синтезировалось и работало, нужно просто соединить CONTROL от одного ядра к другому. Но у вас тут появился VIO. И что-то мне кажется, что нельзя ICON подключать одновременно на ILA и на VIO через одни CONTROL порт. В этом и конфликт. На просторах xilinx форума вычитал это: Цитата Please note that each ICON core can have multiple ILA cores by generating an ICON core with multiple CONTROL ports (one CONTROL port per ILA instance). В вашем случае, по идее на один порт вешается ILA, а на другой VIO.
|
|
|
|
|
Apr 17 2016, 09:07
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 14-04-16
Пользователь №: 91 286

|
Да, спасибо, я сама уже это поняла. Подключила ILA и VIO через два разных порта CONTROL. Все заработало. Но в ILA и VIO нужно было порт CONTROL изменить с inout на input. Без этого не работало. Почему так?
И еще такой вопрос. Сейчас пытаюсь включить анализатор, но он требует подсоединить кабель. Мне нужно проверить сначала не на реальной плате, а через VIO. Как его правильно настроить? Не нашла как.
Сообщение отредактировал RinettaFox - Apr 17 2016, 09:16
|
|
|
|
|
May 18 2016, 16:25
|
Группа: Участник
Сообщений: 12
Регистрация: 16-03-16
Из: Питер
Пользователь №: 90 885

|
Цитата(RinettaFox @ Apr 17 2016, 12:07)  И еще такой вопрос. Сейчас пытаюсь включить анализатор, но он требует подсоединить кабель. Мне нужно проверить сначала не на реальной плате, а через VIO. Как его правильно настроить? Не нашла как. Чипскоп не на реальной плате? Это что-то новое. Чипскоп работает только на реальной физической плате, для остального есть моделирование. Возможно, в заблуждение вводят слова "виртуальный ввод-вывод". Виртуальность здесь только в том, что кнопки и индикаторы не физические, а программные
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|