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

MAZZI

Свой
  • Постов

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

  • Посещение

Весь контент MAZZI


  1. У меня несколько вопросов для обсуждения: 1. Как можно посмотреть визуально файлы после обработки препроцессора, не пуская работу далее? 2. Как можно расширить препроцессор Verilog? Чтобы он имел больше возможностей от C++, чем кастрированный как сейчас, хотелось бы добавить возможности как в С++: а) неявное обращение в `include "файл", а не указывать весь путь до папки и выход на уровень выше "../../файл", а если проект меняет расположение, то каждый раз править достало; б) конкатенация имен в препроцессоре, почему нет её в Verilog, кто вообще кастрировал всё что самое необходимое? в) `ifdef - есть, `else - есть, `endif - есть, где `elseif? г) перенос `define на другую строку \, легче ведь иметь перенос текста, чем делать длинные строки; 3. И самое главное, как можно после расширения препроцессора сделать так, чтобы подменить его в ISE? Во, сколько вопросов :)
  2. Установил тут SP 6_3_03i_pc.exe, и эта скотина Xilinx Editor не позволяет редактировать файлы, а точнее сохранить их нельзя, у кого-нибудь такой глюк наблюдается? Чего сделали с ним? было до этого 6_3_01i_pc, 6_3_02i_pc я не устанавливал
  3. вообще, вроде бы можно в FAQ на XP найти там описано как и что менять в реестре, чтобы русский подерживал, не особо помню где у меня храниться, найду, напишу, у меня только ModelSim не понимает русский. Кто знает, что сделать, чтобы понимал? :)
  4. Кряк старый который от ROR не поддерживал MIX simulation, это было как в 5.1, 6.2, так и в 6.3 перенеслось, если найдёте кряк с MIX simulation, выложите на FTP
  5. Попробовал Active-HDL 6.3 крякнутый, он прокомпилировал дизайн и написал: # Top modules: TB_AFBMASTER_MPC852T_v3. # Compile success 0 Errors 0 Warnings Analysis time : 0. # done asim -advdataflow TB_AFBMASTER_MPC852T_v3 # ELBREAD: Elaboration process. # ELBREAD: Elaboration time 0.0 . # asim: Stack memory: 32MB # asim: Retval memory: 32MB # KERNEL: Main thread initiated. # KERNEL: Kernel process initialization phase. # KERNEL: Time resolution set to 1ps. # ELAB2: Elaboration final pass... # ELAB2: Create instances ... # ELAB2: Fatal Error: ELAB2_0065 Generate for is not supported in designs with table of instances. # ELAB2: Last instance before error: / # KERNEL: Error: E8005 : Kernel process initialization failed. # Fatal error occurred during simulation initialization. По этой надписи я понял, что оператор generate for как то плохо поддерживается, это был проект с использованием многих generate for, и они представляли один огромный мукс, после ещё промоделировал мукс с generate for один, он нормально проглотился, теперь думаю может че не правильно описал... ModelSim на это дело не ругается.
  6. Есть разведенная плата, спроектированная в Ментор, нужно узнать назначение пинов, причем, если пинов куча огромная, более 1000, то написание UCF составляет сложности, как это можно автоматизировать, и так же наоборот передача из ПЛИС в плату.
  7. Много раз звучало сообщение от меня и других, как реализовать функцию log2, зная значение модуля счета, глубины памяти и т.д. на Verilog. Во-первых, оказалось что в Verilog 2001 такие вещи предусматриваются, однако не все синтезаторы такое поддерживают, а именно Constant Function. Нашел в IEEE Std 1364-2001 (10.3.5 Use of constant functions), там есть пример. Немного полегче реализация той же функции: function integer f_clogb2; //Входы input [31:0] value; //Значение глубины шины //Цикл функции for (f_clogb2= 0; value > 0; f_clogb2= f_clogb2+ 1) value = value >> 1; endfunction //MaZZi'S ZoNE Теперь самое интересное, какие синтезаторы поддерживают Constant Function? Из двух рассмотреных Symplify 7.6.1, Xilinx XST ISE 6.2, заработало только на Symplify 7.6.1, т.ч. юзайте :)
  8. Работаю на Verilog, в институте начинал с VHDL, удобство описания на Verilog по стравнению с VHDL для начинающих очень ощутимо, и вот тут наткнулся на возможность быстрого изменения устройств через параметры и т.д., прищел в тупик, т.к. мало того что не все операторы Verilog 2001 поддерживаются (generate глючит в Ac*tive-HDL6.2SP1), да ещё нет поддержки математических функций, таких как log2 и т.п., засунуть эти функции в параметры не получилось, по услышанному мною в VHDL это поддерживается, вот теперь думаю потихоньку изучать и его, хотя было бы классно, чтобы в SystemVerilog это реализовалось и особо не надо было прыгать с языка на язык, мне VHDL не нравиться за его муторность текста, огромные текстовики простых вещей, слишком геморно.
  9. Проверено только что, Al*dec Ac*tive-HDL6.2 SP1 он уже распознает оператор generate, без SP1 он даже не знал что это, но только не исправлен до сих пор баг, симуляцию делать он не может, засовывал примеры из стандарта Verilog 2001, один из них: module gray2bin1 (bin, gray); parameter SIZE = 8; // this module is parameterizable output [size-1:0] bin; input [size-1:0] gray; genvar i; generate for (i=0; i<SIZE; i=i+1) begin:bit assign bin = ^gray[size-1:i]; end endgenerate endmodule работать не работает, пишет: # Error: VCP2000 generate.v : (27, 22): Syntax error. Unexpected token: <[O_LESS]. Expected tokens: '#' , '(' , '.' , ':' , 'delay' ... . причем IS*E6.2 нормально проглатывает пример и синтезирует. По этой причине хочу поработать с Mod*elSim 5.8, узнать как он реагирует, нужен CRACK на него :), дайте плс :). GENERATE очень полезная вещь с точки зрения программирования FPGA, и если его софт не поддерживает, то это огромный минус.
×
×
  • Создать...