|
ModelSim, вопросы новичка |
|
|
|
 |
Ответов
|
May 21 2018, 13:16
|

Частый гость
 
Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414

|
Цитата(Flip-fl0p @ May 21 2018, 19:47)  Я бы ещё не применял имена модулей - названия примитивов регистров. Например DFF - имя запрещенное. Очень странно что Quartus не ругался... Не совсем Вас понимаю. В проекте есть такая строчка: Код AND2 AND2_01(.IN1(addr[0]), .IN2(wr), .OUT(s1)); Что здесь запрещенного? Как по другому создать примитив AND2? Описывать конструкцию в виде assign q = in1 & in2 в отдельном файле? AND2 - примитив библиотеки, я и беру его из библиотеки, только какой пока не знаю, так же как и DFF. Остальные элементы вроде нашел, правда некрасиво как-то - в папку work компилируется все подряд( когда нужны всего пара элементов. Вобщем психанул) Скомпилировал в проект все что было в C:\altera\15.0\modelsim_ase\altera\verilog\src Проект увеличился на 1,2Гб) Но элементы AND2 и DFF так и не найдены. Вывод - либо отсутствует нужная библиотека для cyclone III, либо Flip-fl0p прав и я что-то делаю не так. Среда в которой разрабатывается проект - квартус 9.1, а ModelSim установлен в ModelSim-Altera Starter Edition 15.0.0.145, который не поддерживает cycloneIII. Может быть в этом дело?
|
|
|
|
|
May 21 2018, 13:17
|

В поисках себя...
   
Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140

|
Поскольку полного кода я не вижу, я предположил, что вы создали свой модуль с именем DFF. А этого делать крайне нежелательно. Цитата Я и беру его из библиотеки, только какой пока не знаю, так же как и DFF Это как ?  Вообще было бы неплохо, чтобы Вы полный текст проекта сюда выложили. Обычно для RTL симуляции библиотек надо минимум. И тип чипа вообще роли играть не должен !
|
|
|
|
|
May 21 2018, 13:32
|

Частый гость
 
Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414

|
Цитата(Flip-fl0p @ May 21 2018, 20:17)  Поскольку полного кода я не вижу, я предположил, что вы создали свой модуль с именем DFF. А этого делать крайне нежелательно. Это как ?  Вообще было бы неплохо, чтобы Вы полный текст проекта сюда выложили. Обычно для RTL симуляции библиотек надо минимум. И тип чипа вообще роли играть не должен ! Вот код одного из модулей: CODE module ram_blocks( input clk, input [15:0]addr, input [15:0]data, input wr, output [15:0]data_1, output [15:0]data_2, output [15:0]data_3, output [15:0]data_4, output [15:0]data_5, output [15:0]data_6, output [15:0]data_7, output [15:0]data_8, output [15:0]data_9, output [15:0]data_10, output [15:0]data_11, output [15:0]data_12, output [15:0]data_13, output [15:0]data_14, output [15:0]data_15, output [15:0]data_16); wire s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16; wire w_VCC; assign w_VCC = 1'b1; AND2 AND2_01(.IN1(addr[0]), .IN2(wr), .OUT(s1)); ram ram_01(.data(data), .wren(s1), .address(w_VCC), .clock(clk), .q(data_1)); AND2 AND2_02(.IN1(addr[1]), .IN2(wr), .OUT(s2)); ram ram_02(.data(data), .wren(s2), .address(1'b1), .clock(clk), .q(data_2)); AND2 AND2_03(.IN1(addr[2]), .IN2(wr), .OUT(s3)); ram ram_03(.data(data), .wren(s3), .address(1'b1), .clock(clk), .q(data_3));
AND2 AND2_04(.IN1(addr[3]), .IN2(wr), .OUT(s4)); ram ram_04(.data(data), .wren(s4), .address(1'b1), .clock(clk), .q(data_4));
AND2 AND2_05(.IN1(addr[4]), .IN2(wr), .OUT(s5)); ram ram_05(.data(data), .wren(s5), .address(1'b1), .clock(clk), .q(data_5)); AND2 AND2_06(.IN1(addr[5]), .IN2(wr), .OUT(s6)); ram ram_06(.data(data), .wren(s6), .address(1'b1), .clock(clk), .q(data_6)); AND2 AND2_07(.IN1(addr[6]), .IN2(wr), .OUT(s7)); ram ram_07(.data(data), .wren(s7), .address(1'b1), .clock(clk), .q(data_7));
AND2 AND2_08(.IN1(addr[7]), .IN2(wr), .OUT(s8)); ram ram_08(.data(data), .wren(s8), .address(1'b1), .clock(clk), .q(data_8));
AND2 AND2_09(.IN1(addr[8]), .IN2(wr), .OUT(s9)); ram ram_09(.data(data), .wren(s9), .address(1'b1), .clock(clk), .q(data_9)); AND2 AND2_10(.IN1(addr[9]), .IN2(wr), .OUT(s10)); ram ram_10(.data(data), .wren(s10), .address(1'b1), .clock(clk), .q(data_10)); AND2 AND2_11(.IN1(addr[10]), .IN2(wr), .OUT(s11)); ram ram_11(.data(data), .wren(s11), .address(1'b1), .clock(clk), .q(data_11));
AND2 AND2_12(.IN1(addr[11]), .IN2(wr), .OUT(s12)); ram ram_12(.data(data), .wren(s12), .address(1'b1), .clock(clk), .q(data_12));
AND2 AND2_13(.IN1(addr[12]), .IN2(wr), .OUT(s13)); ram ram_13(.data(data), .wren(s13), .address(1'b1), .clock(clk), .q(data_13)); AND2 AND2_14(.IN1(addr[13]), .IN2(wr), .OUT(s14)); ram ram_14(.data(data), .wren(s14), .address(1'b1), .clock(clk), .q(data_14)); AND2 AND2_15(.IN1(addr[14]), .IN2(wr), .OUT(s15)); ram ram_15(.data(data), .wren(s15), .address(1'b1), .clock(clk), .q(data_15));
AND2 AND2_16(.IN1(addr[15]), .IN2(wr), .OUT(s16)); ram ram_16(.data(data), .wren(s16), .address(1'b1), .clock(clk), .q(data_16)); endmodule В модуле используется элемент AND2, экземпляры которого я создаю. Но элемент AND2 так же как и DFF не могу найти ни в одной из библиотек, подключал уже все файлы из папки C:\altera\15.0\modelsim_ase\altera\verilog\src Я подозреваю, что это из за того, что проект разрабатывался в Quartus 9.1, а ModelSim используется от версии квартуса 15.0 где отсутствует библиотека для cyclone III. Как мне быть? Перейти на Quartus 13.1? Не очень бы хотелось - как показывает практика - чем выше версия квартуса - тем больше тормозов и времени на компиляцию. Warning from admin: Используйте codebox для длинных цитат программного кода!
Сообщение отредактировал makc - May 21 2018, 14:45
Причина редактирования: Замена code -> codebox
|
|
|
|
|
May 21 2018, 18:29
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 8-05-18
Пользователь №: 103 834

|
Цитата(Sprite @ May 21 2018, 13:32)  Вот код одного из модулей: Во-первых, используйте defin-ы для Ваших констант: `define arr_dim 16 `define arr_rng [`arr_dim-1:0] и тогда output [15:0]data_4, выливается в output `arr_rng data_4, далее wire s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16; пишется как wire [16:1] s; или снова как выше через defin-ы. Далее AND2 AND2_01(.IN1(addr[0]), .IN2(wr), .OUT(s1)); если не важно указание имени инстанциированного модуля, то его можно опустить: AND2 (.IN1(addr[0]), .IN2(wr), .OUT(s1)); вообще, подозреваю, что такую последовательность Ваших примитивов можно описать через generate Цитата(Sprite @ May 21 2018, 13:32)  В модуле используется элемент AND2, экземпляры которого я создаю. Но элемент AND2 так же как и DFF не могу найти ни в одной из библиотек, подключал уже все файлы из папки C:\altera\15.0\modelsim_ase\altera\verilog\src Я подозреваю, что это из за того, что проект разрабатывался в Quartus 9.1, а ModelSim используется от версии квартуса 15.0 где отсутствует библиотека для cyclone III. Как мне быть? Перейти на Quartus 13.1? Либо использовать ModelSim-Altera(Starter)Edition от той версии Quartus-a, которая поддерживает интересующий чип, либо (здесь могу врать) скомпилить библиотеки для того ModelSima, который чип не поддерживает, но с которым хочется работать.
Сообщение отредактировал Marat Zuev - May 21 2018, 18:30
--------------------
-- С наилучшими пожеланиями, Marat.
|
|
|
|
Сообщений в этой теме
Sprite ModelSim, вопросы новичка May 18 2018, 11:26 Nieve Здравствуйте!
У вас в TestBench переменная ... May 18 2018, 11:43 iosifk Цитата(Sprite @ May 18 2018, 14:26) Добро... May 18 2018, 11:45 Sprite Nieve, Иосиф Григорьевич, спасибо!
Проглядел)... May 18 2018, 12:15  iosifk Цитата(Sprite @ May 18 2018, 15:15) Nieve... May 18 2018, 12:38  AVR Цитата(Sprite @ May 18 2018, 15:15) А мож... May 18 2018, 12:56   Stewart Little Цитата(AVR @ May 18 2018, 15:56) Прошу пр... May 18 2018, 15:59 Flip-fl0p КодА можно как-нибудь автоматизировать посылку раз... May 18 2018, 17:47 AnatolySh Цитата(Sprite @ May 18 2018, 14:26) Решил... May 18 2018, 18:03 R6L-025 Вроде как неплохо еще прогонять на случайных выбор... May 18 2018, 19:02 Flip-fl0p Цитата(R6L-025 @ May 18 2018, 22:02)... May 18 2018, 19:11 R6L-025 Можно создать *.qsys проект в который добавить нуж... May 18 2018, 19:21 Marat Zuev Цитата(Sprite @ May 18 2018, 12:26) Отлаж... May 18 2018, 20:30 Sprite Цитата(AnatolySh @ May 19 2018, 01:03) Не... May 19 2018, 13:35 Marat Zuev Цитата(Sprite @ May 19 2018, 14:35) наткн... May 19 2018, 13:52  Sprite Цитата(Marat Zuev @ May 19 2018, 20:52) В... May 20 2018, 06:38   Marat Zuev Цитата(Sprite @ May 20 2018, 07:38) Как м... May 20 2018, 07:09 R6L-025 А почему эту самую корку использовать нельзя? Если... May 20 2018, 07:09 R6L-025 А, еще есть quartus templates. В выпадающем меню E... May 20 2018, 07:12 Sprite Цитата(R6L-025 @ May 20 2018, 14:12)... May 20 2018, 08:16 R6L-025 Ну тогда попробуйте поиграть с директивами. Quartu... May 20 2018, 09:18 Sprite Спасибо, попробую. Еще один вопрос: как описать эт... May 20 2018, 09:29 AVR Цитата(Sprite @ May 20 2018, 12:29) Спаси... May 22 2018, 05:27 R6L-025 Да, verilog, vhdl... Берете описание портов pll ко... May 20 2018, 10:12 Sprite Цитата(R6L-025 @ May 20 2018, 17:12)... May 20 2018, 10:27 Sprite Всем добра!
Перевел проект полностью на veril... May 21 2018, 11:53 Marat Zuev Цитата(Sprite @ May 21 2018, 11:53) Если ... May 21 2018, 12:42    nice_vladi Цитата(Sprite @ May 21 2018, 13:32) ...
... May 22 2018, 05:28 Flip-fl0p А какую цель Вы ставите перед собой ?
Сделать прав... May 21 2018, 14:30 Sprite Цитата(Flip-fl0p @ May 21 2018, 21:3... May 21 2018, 14:48 Sprite С учетом замечаний Marat Zuev переписал модуль, по... May 22 2018, 08:40 Flip-fl0p Цитата(Sprite @ May 22 2018, 11:40)
А ес... May 22 2018, 09:20  iosifk Цитата(Flip-fl0p @ May 22 2018, 12:2... May 22 2018, 09:46 Sprite Спасибо всем за критику)
Задачу в двух словах опи... May 22 2018, 10:24 iosifk Цитата(Sprite @ May 22 2018, 13:24) Спаси... May 22 2018, 12:20  Sprite Цитата(iosifk @ May 22 2018, 19:20) У Вас... May 22 2018, 12:28   iosifk Цитата(Sprite @ May 22 2018, 15:28) Чтени... May 22 2018, 12:35    Sprite Цитата(iosifk @ May 22 2018, 19:35) И в к... May 22 2018, 15:54     Flip-fl0p Цитата(Sprite @ May 22 2018, 18:54) Конеч... May 23 2018, 06:18     iosifk Цитата(Sprite @ May 22 2018, 18:54) Конеч... May 23 2018, 07:10 Sprite Довольный как слон
Все получилось! Собрал пр... May 22 2018, 12:04 Sprite Flip-fl0p, Иосиф Григорьевич спасибо! Подумаю ... May 23 2018, 11:49 nice_vladi Цитата(Sprite @ May 23 2018, 11:01) [b]
К... May 23 2018, 11:51 OM-S В tb.v поставьте начальное значение для регистра... May 23 2018, 11:59  Sprite Цитата(OM-S @ May 23 2018, 18:59) В ... May 23 2018, 12:24   _Anatoliy Что-то у вас входной клок дюже быстро клацает для ... May 23 2018, 12:38    Sprite Цитата(_Anatoliy @ May 23 2018, 19:38) Чт... May 23 2018, 13:20 Sprite Добрый день всем!
Еще один нубский вопрос:
Реш... May 25 2018, 13:34 iosifk Цитата(Sprite @ May 25 2018, 16:34) Добры... May 25 2018, 14:19 Flip-fl0p Цитата(Sprite @ May 25 2018, 16:34) Что д... May 25 2018, 15:50 Nieve 1. У вас в схеме нет сигнала "reset", ре... May 25 2018, 15:14 Sprite Цитата(Nieve @ May 25 2018, 22:14) 1. У в... May 25 2018, 16:41  Flip-fl0p Цитата(Sprite @ May 25 2018, 19:41) Ниче ... May 25 2018, 18:19  iosifk Цитата(Sprite @ May 25 2018, 19:41) Иосиф... May 25 2018, 18:35   andrew_b Цитата(iosifk @ May 25 2018, 21:35) Одног... May 26 2018, 05:03    iosifk Цитата(andrew_b @ May 26 2018, 08:03) А ... May 26 2018, 07:09 Nieve 1. В таком случае как быть если схема зависла и не... May 25 2018, 17:01 Sprite Flip-Flop, Иосиф Григорьевич - спасибо!
Прочит... May 26 2018, 14:23
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|