|
Перенос назначения пинов из проекта в проект Quartus |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 17)
|
Dec 17 2012, 13:21
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(Acvarif @ Dec 17 2012, 16:12)  В который раз пытаюсь с этим разобраться. Не получается. В который раз пишу одно и то же. Altera attribute. Если, конечно, вы пишете на Verilog, VHDL. Код /** Clock 250MHz **/ (* chip_pin = "89", altera_attribute = "-name global_signal on; -name io_standard lvds" *) input PLDC,
/** ADC1 **/ (* chip_pin = "98, 101, 120, 126, 128, 132, 143, 10", altera_attribute = "-name io_standard lvds; -name pad_to_input_register_delay 0", useioff = 1 *) input [7:0] S1D,
|
|
|
|
|
Dec 17 2012, 13:32
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(ViKo @ Dec 17 2012, 17:21)  В который раз пишу одно и то же. Altera attribute. Если, конечно, вы пишете на Verilog, VHDL. Верхнеуровневый файл сделан на Verilog. Атрибутами не пользовался. Но я имел ввиду назначения пинов в пинпланере. Перенос назначений из пинпланера одного проекта в пинпланер другого. Если кроме использования атрибутов нет другого выхода то тогда дело табак. Это та же ручная рутина.
|
|
|
|
|
Dec 17 2012, 17:38
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 31-07-06
Пользователь №: 19 224

|
Цитата Имеется проект Quartus90 с назначенными пинами. Создан другой проект на том же девайсе, но назначения пинов там должны быть те же. Как можно перенести назначения пинов из первого проекта во второй, чтобы не заниматься ручной рутиной? В который раз пытаюсь с этим разобраться. Не получается. Создайте новую версию проекта proekt/revisions/create , все назначения сохраняться.
|
|
|
|
|
Feb 3 2014, 09:53
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Коллеги помогите разобраться  Пытаюсь назначить пины в ТОПлевеле квартуса для массива Код (*chip_pin = "k1,k2,j1,j2,t15,r14,t14,r13,p8,n8,d6,n3,l13,k12,n12,p11,m7,p6,n6,p3,l10,m10, t3,r3,l4,g5,f3,d3,t10,r7,t7,t6" *)
input [3:0] adc_din [7:0], Но почему то он не назначает их. Как правильно это делается?
|
|
|
|
|
Feb 3 2014, 10:13
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Цитата(ViKo @ Feb 3 2014, 13:00)  Каждый из 4-х adc_din[] отдельно назначить попробуйте. Вы имели ввиду так? Код (*chip_pin = "k1,k2,j1,j2" *) (*chip_pin = "t15,r14,t14,r13" *) (*chip_pin = "p8,n8,d6,n3" *) (*chip_pin = "l13,k12,n12,p11" *) (*chip_pin = "m7,p6,n6,p3" *) (*chip_pin = "l10,m10,t3,r3" *) (*chip_pin = "l4,g5,f3,d3" *) (*chip_pin = "t10,r7,t7,t6" *) input [3:0] adc_din [7:0], Тоже не работает
|
|
|
|
|
Feb 3 2014, 10:18
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(gosu-art @ Feb 3 2014, 13:13)  Вы имели ввиду так? Нет. Просто каждый из adc_din[] в своей строке. upd. Проверьте, правильно ли вы написали input [3:0] adc_din [7:0] Может, нужно input [7:0] adc_din[3:0] Я забыл...
|
|
|
|
|
Feb 3 2014, 10:53
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Цитата(ViKo @ Feb 3 2014, 13:18)  upd. Проверьте, правильно ли вы написали input [3:0] adc_din [7:0] Может, нужно input [7:0] adc_din[3:0] Я забыл... У меня массив [7:0] unpacked, c вектором [3:0] как мне и нужно. Все работает если руками назначить в assignment editore Цитата(SM @ Feb 3 2014, 13:18)  наоборот попробуйте input xxxx /* synthesis chip_pin = "t15,r14,..." */; Код input [3:0] adc_din [7:0] /* synthesis chip_pin = "k1,k2,j1,j2, t15,r14,t14,r13, p8,n8,d6,n3, l13,k12,n12,p11, m7,p6,n6,p3, l10,m10,t3,r3, l4,g5,f3,d3, t10,r7,t7,t6" */ , тоже не хочет
|
|
|
|
|
Feb 3 2014, 11:01
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(gosu-art @ Feb 3 2014, 14:53)  тоже не хочет только заметил... у Вас там "," после input... Это значит, что Вы описываете все внутри module (), синтаксисом SV. Сделайте по-вериложному, в модуле только список портов, а input/output отдельно, после, и с назначениями пинов.
|
|
|
|
|
Feb 3 2014, 11:40
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Цитата Critical Warning (169085): No exact pin location assignment(s) for 32 pins of 96 total pins Info (169086): Pin adc_din[0][2] not assigned to an exact location on the device галочка - да, стоит SV. Че то не хочится переделывать под Verilog TOP. Ладно пока руками забью
|
|
|
|
|
Feb 3 2014, 13:24
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Цитата(ViKo @ Feb 3 2014, 15:01)  И разбить массив на отдельные векторы не хотите? Может, не все те пины доступны, что вы задаете? Кстати, Квартус ругается на конкретный бит! У меня там generate, for (), удобно сделано. Можно конечно объявить вектор 31:0 а потом логически наложить на logic [3:0] adc_data [7:0]. Но пока так оставлю. Ругается он на все элементы массива. просто весь варнинг не стал выкладывать. Собственно так и сделал. Код (*chip_pin = "k1,k2,j1,j2, t15,r14,t14,r13, p8,n8,d6,n3, l13,k12,n12,p11, m7,p6,n6,p3, l10,m10,t3,r3, l4,g5,f3,d3, t10,r7,t7,t6" *) input [31:0] adc_data_in, Код logic [3:0] adc_din [7:0];
always_comb begin adc_din[0] = adc_data_in[3:0]; adc_din[1] = adc_data_in[7:4]; adc_din[2] = adc_data_in[11:5]; adc_din[3] = adc_data_in[15:12]; adc_din[4] = adc_data_in[19:16]; adc_din[5] = adc_data_in[23:20]; adc_din[6] = adc_data_in[27:24]; adc_din[7] = adc_data_in[31:28]; end Тупо. но работает
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|