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

Вано

Участник
  • Постов

    22
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Вано

  • Звание
    Участник
    Участник

Контакты

  • ICQ
    Array
  1. Уважаемые, если кто-нибудь встречал реализацию этого алгоритма на verilog, ну или на vhdl, поделитель ссылочкой, пожалуйста. Знаю что реализация есть, но пака не могу найти, спасибо.
  2. Путем изучения алгоритмов сжатия без потерь(Хаффмана и Арифметического) и проектов, где они рельно применяются. Я пришел к выводу что RGB поток данных сначала подвергаеется DCT ( Discrete Cosine Transform) и квантизации , а потом уже кодируется кодеками Хаффманом или Арифметическим. Правильно ли я думаю, что это связано с трудностью быстрого построения частотных таблиц, а так же ограничивает входной алфавит для кодирования Хаффманом. Т.е DCT делается перед применением кодера, т.к. упорядочивает поток данных? Если же просто кодировать поток данных , например, который поступает в буфер на 256 мест, затем надо строить таблицу частот, тогда вопрос как быстро отсортировать этот буфер, чтобы построить бинарное дерево? Ведь потребуется как минимум 128 циклов пересылок?
  3. Нашел уже 3 варианта имплементации huffman алгоритма. Неужели ни у кого нет Арифметического? Народ, поделитесь. Можем обменяться на очень интересные реализации.
  4. рефернсного нет, а свой есть, в нескольких реализациях можете попробывать попросить у атеме либу для симуляции :) Не совсем понял про "либу для симуляции", а у Вас можно попросить какую-нибудь verilog реализацию? у атеме можно получить скомпилированную либу для моделирования. думаю что код вы не найдете нигде, мы свои реализации тоже не рассылаем. Custom Development возможен, но он стоит денег :)) Пасибо за ответ, думаю найти можно все же, хаффман же есть, почему бы арифметике не быть , а если не льзя то придется писать значит с нуля, что тоже приемлимо.
  5. рефернсного нет, а свой есть, в нескольких реализациях можете попробывать попросить у атеме либу для симуляции :) Не совсем понял про "либу для симуляции", а у Вас можно попросить какую-нибудь verilog реализацию?
  6. Может у кого-нибудь есть референсы на имплементацию "Арифметического алгоритма" компрессии? Реализацию алгоритма Хаффмана я нашел, может кто-нибудь встречал реализацию еще и арифметического алгоритма?
  7. На половину длительности тактового импульса? Или на половину периода тактового импульса? Под длительностью имею в виду периода.
  8. Это схоже с проблемой деления на логике тактовой НЕ на степень 2-ки (например 3) А самый очевидный вариант синтезируемой задержки - использовать 2-ух кратную тактовую (на PLL) :) К сожалению pll трогать нельзя, необходимо программно сделать без использования настроек генератора. Черт побери, сигнал возникает на пол таката раньше , чем нужно, может быть есть еще мнения?
  9. Подскажите, как в verilog -е сделать задержку сигнала на половину длительности тактового импульса?
  10. assign ууу = xxx; И всё!!!!! По-моему, вы ошибаетесь. always @( fas_ff_fe or fas_db ) if(fas_ff_fe) begin assign yyy=xxx; end Это работать будет наобхорот , если xxx=yyy, а обратно не будет, в этом и проблема что переменной wire не присвоишь assign переменную типа reg, наоборот можно.
  11. Собственно вопрос в следующем: Как можно присвоить переменной типа wire значение переменной типа reg т.е. reg[15:0] xxx; wire[15:0] yyy; reg g; как ууу = xxx ? 1) я использую метод с применением bufif0.т.е. в блоке объявления переменных bufif0( yyy, xxx, g); Затем в task -ах я просто присваививаю значения переменной xxx и автоматический у меня инициализируется переменная типа wire , т.е ууу . 2) провести это присвоение в рамках процесса always , используя assign, а еще как?
  12. К сожалению на wire заменить reg нельзя, т.к. у меня еще кроме этого куча функций создана, которые нужно будет переписывать, они работают с переменными как с регистром.
  13. Действительно в глазах рябит, поэтому и ищу способ заменить эти все bufif0 для каждого разряда на какие-нибудь циклы. С компиляцией verilog кода проблем нет, (код компилирую в modelsimSE 6.0с), затем создаю временную диаграмму и при нажатии на старт симуляции modelsim жостко вылетает, т.е. симуляция не запускается, а с компилятором все в порядке. Собственно мне нужно упростить вот это: bufif0 ( ide0_data [ 0 ], ide0_datar [ 0 ], ide0_e ) ; bufif0 ( ide0_data [ 1 ], ide0_datar [ 1 ], ide0_e ) ; bufif0 ( ide0_data [ 2 ], ide0_datar [ 2 ], ide0_e ) ; bufif0 ( ide0_data [ 3 ], ide0_datar [ 3 ], ide0_e ) ; bufif0 ( ide0_data [ 4 ], ide0_datar [ 4 ], ide0_e ) ; bufif0 ( ide0_data [ 5 ], ide0_datar [ 5 ], ide0_e ) ; bufif0 ( ide0_data [ 6 ], ide0_datar [ 6 ], ide0_e ) ; bufif0 ( ide0_data [ 7 ], ide0_datar [ 7 ], ide0_e ) ; bufif0 ( ide0_data [ 8 ], ide0_datar [ 8 ], ide0_e ) ; bufif0 ( ide0_data [ 9 ], ide0_datar [ 9 ], ide0_e ) ; bufif0 ( ide0_data [ 10 ], ide0_datar [ 10 ], ide0_e ) ; bufif0 ( ide0_data [ 11 ], ide0_datar [ 11 ], ide0_e ) ; bufif0 ( ide0_data [ 12 ], ide0_datar [ 12 ], ide0_e ) ; bufif0 ( ide0_data [ 13 ], ide0_datar [ 13 ], ide0_e ) ; bufif0 ( ide0_data [ 14 ], ide0_datar [ 14 ], ide0_e ) ; bufif0 ( ide0_data [ 15 ], ide0_datar [ 15 ], ide0_e ) ; Простым циклом нельзя, т.к. это блок объявления примитивов , связей,переменных вместо этого создал это: generate for (bi=0; bi<16; bi=bi+1) begin:bit bufif0 ( ide0_data[ bi ] , ide0_datar[ bi ] , ide0_e ) ; end endgenerate НО этот код, не симулируется. Код компилируется и симулируется в quartus 6.0c
  14. Собственно задача состоит в том чтобы упростить следующий код: module SWSIM () ; ----///------------- //--------------------------------------------------------------------- // Define buffered versions of INOUT signals //--------------------------------------------------------------------- integer regAdr ; integer regAdr2; integer i; //--------------------------------- reg [ 15 : 0 ] adr ; reg ade ; reg enb ; genvar bi; bufif0 ( ad [ 0 ], adr [ 0 ], ade ) ; bufif0 ( ad [ 1 ], adr [ 1 ], ade ) ; bufif0 ( ad [ 2 ], adr [ 2 ], ade ) ; bufif0 ( ad [ 3 ], adr [ 3 ], ade ) ; bufif0 ( ad [ 4 ], adr [ 4 ], ade ) ; bufif0 ( ad [ 5 ], adr [ 5 ], ade ) ; bufif0 ( ad [ 6 ], adr [ 6 ], ade ) ; bufif0 ( ad [ 7 ], adr [ 7 ], ade ) ; bufif0 ( ad [ 8 ], adr [ 8 ], ade ) ; bufif0 ( ad [ 9 ], adr [ 9 ], ade ) ; bufif0 ( ad [ 10 ], adr [ 10 ], ade ) ; bufif0 ( ad [ 11 ], adr [ 11 ], ade ) ; bufif0 ( ad [ 12 ], adr [ 12 ], ade ) ; bufif0 ( ad [ 13 ], adr [ 13 ], ade ) ; bufif0 ( ad [ 14 ], adr [ 14 ], ade ) ; bufif0 ( ad [ 15 ], adr [ 15 ], ade ) ; reg [ 15 : 0 ] fas_dbr ; reg fas_dbe ; bufif0 ( fas_db [ 0 ], fas_dbr [ 0 ], fas_ndboe ) ; bufif0 ( fas_db [ 1 ], fas_dbr [ 1 ], fas_ndboe ) ; bufif0 ( fas_db [ 2 ], fas_dbr [ 2 ], fas_ndboe ) ; bufif0 ( fas_db [ 3 ], fas_dbr [ 3 ], fas_ndboe ) ; bufif0 ( fas_db [ 4 ], fas_dbr [ 4 ], fas_ndboe ) ; bufif0 ( fas_db [ 5 ], fas_dbr [ 5 ], fas_ndboe ) ; bufif0 ( fas_db [ 6 ], fas_dbr [ 6 ], fas_ndboe ) ; bufif0 ( fas_db [ 7 ], fas_dbr [ 7 ], fas_ndboe ) ; bufif0 ( fas_db [ 8 ], fas_dbr [ 8 ], fas_ndboe ) ; bufif0 ( fas_db [ 9 ], fas_dbr [ 9 ], fas_ndboe ) ; bufif0 ( fas_db [ 10 ], fas_dbr [ 10 ], fas_ndboe ) ; bufif0 ( fas_db [ 11 ], fas_dbr [ 11 ], fas_ndboe ) ; bufif0 ( fas_db [ 12 ], fas_dbr [ 12 ], fas_ndboe ) ; bufif0 ( fas_db [ 13 ], fas_dbr [ 13 ], fas_ndboe ) ; bufif0 ( fas_db [ 14 ], fas_dbr [ 14 ], fas_ndboe ) ; bufif0 ( fas_db [ 15 ], fas_dbr [ 15 ], fas_ndboe ) ; reg [ 15 : 0 ] ide0_datar, ide1_datar, ide2_datar ; reg [ 15 : 0 ] ide3_datar, ide4_datar, ide5_datar ; reg [ 15 : 0 ] ide6_datar, ide7_datar, ide8_datar ; reg [ 15 : 0 ] ide9_datar; reg ide0_e, ide1_e, ide2_e, ide3_e, ide4_e, ide5_e ; reg ide6_e, ide7_e, ide8_e, ide9_e ; bufif0 ( ide0_data [ 0 ], ide0_datar [ 0 ], ide0_e ) ; bufif0 ( ide0_data [ 1 ], ide0_datar [ 1 ], ide0_e ) ; bufif0 ( ide0_data [ 2 ], ide0_datar [ 2 ], ide0_e ) ; bufif0 ( ide0_data [ 3 ], ide0_datar [ 3 ], ide0_e ) ; bufif0 ( ide0_data [ 4 ], ide0_datar [ 4 ], ide0_e ) ; bufif0 ( ide0_data [ 5 ], ide0_datar [ 5 ], ide0_e ) ; bufif0 ( ide0_data [ 6 ], ide0_datar [ 6 ], ide0_e ) ; bufif0 ( ide0_data [ 7 ], ide0_datar [ 7 ], ide0_e ) ; bufif0 ( ide0_data [ 8 ], ide0_datar [ 8 ], ide0_e ) ; bufif0 ( ide0_data [ 9 ], ide0_datar [ 9 ], ide0_e ) ; bufif0 ( ide0_data [ 10 ], ide0_datar [ 10 ], ide0_e ) ; bufif0 ( ide0_data [ 11 ], ide0_datar [ 11 ], ide0_e ) ; bufif0 ( ide0_data [ 12 ], ide0_datar [ 12 ], ide0_e ) ; bufif0 ( ide0_data [ 13 ], ide0_datar [ 13 ], ide0_e ) ; bufif0 ( ide0_data [ 14 ], ide0_datar [ 14 ], ide0_e ) ; bufif0 ( ide0_data [ 15 ], ide0_datar [ 15 ], ide0_e ) ; bufif0 ( ide1_data [ 0 ], ide1_datar [ 0 ], ide1_e ) ; bufif0 ( ide1_data [ 1 ], ide1_datar [ 1 ], ide1_e ) ; bufif0 ( ide1_data [ 2 ], ide1_datar [ 2 ], ide1_e ) ; bufif0 ( ide1_data [ 3 ], ide1_datar [ 3 ], ide1_e ) ; bufif0 ( ide1_data [ 4 ], ide1_datar [ 4 ], ide1_e ) ; bufif0 ( ide1_data [ 5 ], ide1_datar [ 5 ], ide1_e ) ; bufif0 ( ide1_data [ 6 ], ide1_datar [ 6 ], ide1_e ) ; bufif0 ( ide1_data [ 7 ], ide1_datar [ 7 ], ide1_e ) ; bufif0 ( ide1_data [ 8 ], ide1_datar [ 8 ], ide1_e ) ; bufif0 ( ide1_data [ 9 ], ide1_datar [ 9 ], ide1_e ) ; bufif0 ( ide1_data [ 10 ], ide1_datar [ 10 ], ide1_e ) ; bufif0 ( ide1_data [ 11 ], ide1_datar [ 11 ], ide1_e ) ; bufif0 ( ide1_data [ 12 ], ide1_datar [ 12 ], ide1_e ) ; bufif0 ( ide1_data [ 13 ], ide1_datar [ 13 ], ide1_e ) ; bufif0 ( ide1_data [ 14 ], ide1_datar [ 14 ], ide1_e ) ; bufif0 ( ide1_data [ 15 ], ide1_datar [ 15 ], ide1_e ) ; bufif0 ( ide2_data [ 0 ], ide2_datar [ 0 ], ide2_e ) ; bufif0 ( ide2_data [ 1 ], ide2_datar [ 1 ], ide2_e ) ; bufif0 ( ide2_data [ 2 ], ide2_datar [ 2 ], ide2_e ) ; bufif0 ( ide2_data [ 3 ], ide2_datar [ 3 ], ide2_e ) ; bufif0 ( ide2_data [ 4 ], ide2_datar [ 4 ], ide2_e ) ; bufif0 ( ide2_data [ 5 ], ide2_datar [ 5 ], ide2_e ) ; bufif0 ( ide2_data [ 6 ], ide2_datar [ 6 ], ide2_e ) ; bufif0 ( ide2_data [ 7 ], ide2_datar [ 7 ], ide2_e ) ; bufif0 ( ide2_data [ 8 ], ide2_datar [ 8 ], ide2_e ) ; bufif0 ( ide2_data [ 9 ], ide2_datar [ 9 ], ide2_e ) ; bufif0 ( ide2_data [ 10 ], ide2_datar [ 10 ], ide2_e ) ; bufif0 ( ide2_data [ 11 ], ide2_datar [ 11 ], ide2_e ) ; bufif0 ( ide2_data [ 12 ], ide2_datar [ 12 ], ide2_e ) ; bufif0 ( ide2_data [ 13 ], ide2_datar [ 13 ], ide2_e ) ; bufif0 ( ide2_data [ 14 ], ide2_datar [ 14 ], ide2_e ) ; bufif0 ( ide2_data [ 15 ], ide2_datar [ 15 ], ide2_e ) ; bufif0 ( ide3_data [ 0 ], ide3_datar [ 0 ], ide3_e ) ; bufif0 ( ide3_data [ 1 ], ide3_datar [ 1 ], ide3_e ) ; bufif0 ( ide3_data [ 2 ], ide3_datar [ 2 ], ide3_e ) ; bufif0 ( ide3_data [ 3 ], ide3_datar [ 3 ], ide3_e ) ; bufif0 ( ide3_data [ 4 ], ide3_datar [ 4 ], ide3_e ) ; bufif0 ( ide3_data [ 5 ], ide3_datar [ 5 ], ide3_e ) ; bufif0 ( ide3_data [ 6 ], ide3_datar [ 6 ], ide3_e ) ; bufif0 ( ide3_data [ 7 ], ide3_datar [ 7 ], ide3_e ) ; bufif0 ( ide3_data [ 8 ], ide3_datar [ 8 ], ide3_e ) ; bufif0 ( ide3_data [ 9 ], ide3_datar [ 9 ], ide3_e ) ; bufif0 ( ide3_data [ 10 ], ide3_datar [ 10 ], ide3_e ) ; bufif0 ( ide3_data [ 11 ], ide3_datar [ 11 ], ide3_e ) ; bufif0 ( ide3_data [ 12 ], ide3_datar [ 12 ], ide3_e ) ; bufif0 ( ide3_data [ 13 ], ide3_datar [ 13 ], ide3_e ) ; bufif0 ( ide3_data [ 14 ], ide3_datar [ 14 ], ide3_e ) ; bufif0 ( ide3_data [ 15 ], ide3_datar [ 15 ], ide3_e ) ; bufif0 ( ide4_data [ 0 ], ide4_datar [ 0 ], ide4_e ) ; bufif0 ( ide4_data [ 1 ], ide4_datar [ 1 ], ide4_e ) ; bufif0 ( ide4_data [ 2 ], ide4_datar [ 2 ], ide4_e ) ; bufif0 ( ide4_data [ 3 ], ide4_datar [ 3 ], ide4_e ) ; bufif0 ( ide4_data [ 4 ], ide4_datar [ 4 ], ide4_e ) ; bufif0 ( ide4_data [ 5 ], ide4_datar [ 5 ], ide4_e ) ; bufif0 ( ide4_data [ 6 ], ide4_datar [ 6 ], ide4_e ) ; bufif0 ( ide4_data [ 7 ], ide4_datar [ 7 ], ide4_e ) ; bufif0 ( ide4_data [ 8 ], ide4_datar [ 8 ], ide4_e ) ; bufif0 ( ide4_data [ 9 ], ide4_datar [ 9 ], ide4_e ) ; bufif0 ( ide4_data [ 10 ], ide4_datar [ 10 ], ide4_e ) ; bufif0 ( ide4_data [ 11 ], ide4_datar [ 11 ], ide4_e ) ; bufif0 ( ide4_data [ 12 ], ide4_datar [ 12 ], ide4_e ) ; bufif0 ( ide4_data [ 13 ], ide4_datar [ 13 ], ide4_e ) ; bufif0 ( ide4_data [ 14 ], ide4_datar [ 14 ], ide4_e ) ; bufif0 ( ide4_data [ 15 ], ide4_datar [ 15 ], ide4_e ) ; bufif0 ( ide5_data [ 0 ], ide5_datar [ 0 ], ide5_e ) ; bufif0 ( ide5_data [ 1 ], ide5_datar [ 1 ], ide5_e ) ; bufif0 ( ide5_data [ 2 ], ide5_datar [ 2 ], ide5_e ) ; bufif0 ( ide5_data [ 3 ], ide5_datar [ 3 ], ide5_e ) ; bufif0 ( ide5_data [ 4 ], ide5_datar [ 4 ], ide5_e ) ; bufif0 ( ide5_data [ 5 ], ide5_datar [ 5 ], ide5_e ) ; bufif0 ( ide5_data [ 6 ], ide5_datar [ 6 ], ide5_e ) ; bufif0 ( ide5_data [ 7 ], ide5_datar [ 7 ], ide5_e ) ; bufif0 ( ide5_data [ 8 ], ide5_datar [ 8 ], ide5_e ) ; bufif0 ( ide5_data [ 9 ], ide5_datar [ 9 ], ide5_e ) ; bufif0 ( ide5_data [ 10 ], ide5_datar [ 10 ], ide5_e ) ; bufif0 ( ide5_data [ 11 ], ide5_datar [ 11 ], ide5_e ) ; bufif0 ( ide5_data [ 12 ], ide5_datar [ 12 ], ide5_e ) ; bufif0 ( ide5_data [ 13 ], ide5_datar [ 13 ], ide5_e ) ; bufif0 ( ide5_data [ 14 ], ide5_datar [ 14 ], ide5_e ) ; bufif0 ( ide5_data [ 15 ], ide5_datar [ 15 ], ide5_e ) ; bufif0 ( ide6_data [ 0 ], ide6_datar [ 0 ], ide6_e ) ; bufif0 ( ide6_data [ 1 ], ide6_datar [ 1 ], ide6_e ) ; bufif0 ( ide6_data [ 2 ], ide6_datar [ 2 ], ide6_e ) ; bufif0 ( ide6_data [ 3 ], ide6_datar [ 3 ], ide6_e ) ; bufif0 ( ide6_data [ 4 ], ide6_datar [ 4 ], ide6_e ) ; bufif0 ( ide6_data [ 5 ], ide6_datar [ 5 ], ide6_e ) ; bufif0 ( ide6_data [ 6 ], ide6_datar [ 6 ], ide6_e ) ; bufif0 ( ide6_data [ 7 ], ide6_datar [ 7 ], ide6_e ) ; bufif0 ( ide6_data [ 8 ], ide6_datar [ 8 ], ide6_e ) ; bufif0 ( ide6_data [ 9 ], ide6_datar [ 9 ], ide6_e ) ; bufif0 ( ide6_data [ 10 ], ide6_datar [ 10 ], ide6_e ) ; bufif0 ( ide6_data [ 11 ], ide6_datar [ 11 ], ide6_e ) ; bufif0 ( ide6_data [ 12 ], ide6_datar [ 12 ], ide6_e ) ; bufif0 ( ide6_data [ 13 ], ide6_datar [ 13 ], ide6_e ) ; bufif0 ( ide6_data [ 14 ], ide6_datar [ 14 ], ide6_e ) ; bufif0 ( ide6_data [ 15 ], ide6_datar [ 15 ], ide6_e ) ; bufif0 ( ide7_data [ 0 ], ide7_datar [ 0 ], ide7_e ) ; bufif0 ( ide7_data [ 1 ], ide7_datar [ 1 ], ide7_e ) ; bufif0 ( ide7_data [ 2 ], ide7_datar [ 2 ], ide7_e ) ; bufif0 ( ide7_data [ 3 ], ide7_datar [ 3 ], ide7_e ) ; bufif0 ( ide7_data [ 4 ], ide7_datar [ 4 ], ide7_e ) ; bufif0 ( ide7_data [ 5 ], ide7_datar [ 5 ], ide7_e ) ; bufif0 ( ide7_data [ 6 ], ide7_datar [ 6 ], ide7_e ) ; bufif0 ( ide7_data [ 7 ], ide7_datar [ 7 ], ide7_e ) ; bufif0 ( ide7_data [ 8 ], ide7_datar [ 8 ], ide7_e ) ; bufif0 ( ide7_data [ 9 ], ide7_datar [ 9 ], ide7_e ) ; bufif0 ( ide7_data [ 10 ], ide7_datar [ 10 ], ide7_e ) ; bufif0 ( ide7_data [ 11 ], ide7_datar [ 11 ], ide7_e ) ; bufif0 ( ide7_data [ 12 ], ide7_datar [ 12 ], ide7_e ) ; bufif0 ( ide7_data [ 13 ], ide7_datar [ 13 ], ide7_e ) ; bufif0 ( ide7_data [ 14 ], ide7_datar [ 14 ], ide7_e ) ; bufif0 ( ide7_data [ 15 ], ide7_datar [ 15 ], ide7_e ) ; bufif0 ( ide8_data [ 0 ], ide8_datar [ 0 ], ide8_e ) ; bufif0 ( ide8_data [ 1 ], ide8_datar [ 1 ], ide8_e ) ; bufif0 ( ide8_data [ 2 ], ide8_datar [ 2 ], ide8_e ) ; bufif0 ( ide8_data [ 3 ], ide8_datar [ 3 ], ide8_e ) ; bufif0 ( ide8_data [ 4 ], ide8_datar [ 4 ], ide8_e ) ; bufif0 ( ide8_data [ 5 ], ide8_datar [ 5 ], ide8_e ) ; bufif0 ( ide8_data [ 6 ], ide8_datar [ 6 ], ide8_e ) ; bufif0 ( ide8_data [ 7 ], ide8_datar [ 7 ], ide8_e ) ; bufif0 ( ide8_data [ 8 ], ide8_datar [ 8 ], ide8_e ) ; bufif0 ( ide8_data [ 9 ], ide8_datar [ 9 ], ide8_e ) ; bufif0 ( ide8_data [ 10 ], ide8_datar [ 10 ], ide8_e ) ; bufif0 ( ide8_data [ 11 ], ide8_datar [ 11 ], ide8_e ) ; bufif0 ( ide8_data [ 12 ], ide8_datar [ 12 ], ide8_e ) ; bufif0 ( ide8_data [ 13 ], ide8_datar [ 13 ], ide8_e ) ; bufif0 ( ide8_data [ 14 ], ide8_datar [ 14 ], ide8_e ) ; bufif0 ( ide8_data [ 15 ], ide8_datar [ 15 ], ide8_e ) ; bufif0 ( ide9_data [ 0 ], ide9_datar [ 0 ], ide9_e ) ; bufif0 ( ide9_data [ 1 ], ide9_datar [ 1 ], ide9_e ) ; bufif0 ( ide9_data [ 2 ], ide9_datar [ 2 ], ide9_e ) ; bufif0 ( ide9_data [ 3 ], ide9_datar [ 3 ], ide9_e ) ; bufif0 ( ide9_data [ 4 ], ide9_datar [ 4 ], ide9_e ) ; bufif0 ( ide9_data [ 5 ], ide9_datar [ 5 ], ide9_e ) ; bufif0 ( ide9_data [ 6 ], ide9_datar [ 6 ], ide9_e ) ; bufif0 ( ide9_data [ 7 ], ide9_datar [ 7 ], ide9_e ) ; bufif0 ( ide9_data [ 8 ], ide9_datar [ 8 ], ide9_e ) ; bufif0 ( ide9_data [ 9 ], ide9_datar [ 9 ], ide9_e ) ; bufif0 ( ide9_data [ 10 ], ide9_datar [ 10 ], ide9_e ) ; bufif0 ( ide9_data [ 11 ], ide9_datar [ 11 ], ide9_e ) ; bufif0 ( ide9_data [ 12 ], ide9_datar [ 12 ], ide9_e ) ; bufif0 ( ide9_data [ 13 ], ide9_datar [ 13 ], ide9_e ) ; bufif0 ( ide9_data [ 14 ], ide9_datar [ 14 ], ide9_e ) ; bufif0 ( ide9_data [ 15 ], ide9_datar [ 15 ], ide9_e ) ; Cобственно вместо кода выше написал следующий код: generate for (bi=0; bi<16; bi=bi+1) begin:bit bufif0 ( ad[ bi ] , adr [ bi ] , ade ) ; bufif0 ( fas_db[ bi ] , fas_dbr[ bi ] , fas_ndboe ) ; bufif0 ( ide0_data[ bi ] , ide0_datar[ bi ] , ide0_e ) ; bufif0 ( ide1_data[ bi ] , ide1_datar[ bi ] , ide1_e ) ; bufif0 ( ide2_data[ bi ] , ide2_datar[ bi ] , ide2_e ) ; bufif0 ( ide3_data[ bi ] , ide3_datar[ bi ] , ide3_e ) ; bufif0 ( ide4_data[ bi ] , ide4_datar[ bi ] , ide4_e ) ; bufif0 ( ide5_data[ bi ] , ide5_datar[ bi ] , ide5_e ) ; bufif0 ( ide6_data[ bi ] , ide6_datar[ bi ] , ide6_e ) ; bufif0 ( ide7_data[ bi ] , ide7_datar[ bi ] , ide7_e ) ; bufif0 ( ide8_data[ bi ] , ide8_datar[ bi ] , ide8_e ) ; bufif0 ( ide9_data[ bi ] , ide9_datar[ bi ] , ide9_e ) ; end endgenerate Verilog его понимает , а MOdelsim жестко вылетает. Как можно еще избавиться от этих bufif0, как сократить код? //--------------------------------------------------------------------- // INITIAL block //--------------------------------------------------------------------- initial begin
×
×
  • Создать...