![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
MAZZI
-
Постов
113 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные MAZZI
-
-
Установил тут SP 6_3_03i_pc.exe, и эта скотина Xilinx Editor не позволяет редактировать файлы, а точнее сохранить их нельзя, у кого-нибудь такой глюк наблюдается? Чего сделали с ним?
было до этого 6_3_01i_pc,
6_3_02i_pc я не устанавливал
-
вообще, вроде бы можно в FAQ на XP найти там описано как и что менять в реестре, чтобы русский подерживал, не особо помню где у меня храниться, найду, напишу, у меня только ModelSim не понимает русский. Кто знает, что сделать, чтобы понимал? :)
-
Кряк старый который от ROR не поддерживал MIX simulation, это было как в 5.1, 6.2, так и в 6.3 перенеслось, если найдёте кряк с MIX simulation, выложите на FTP
-
Попробовал 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 на это дело не ругается.
-
Есть разведенная плата, спроектированная в Ментор, нужно узнать назначение пинов, причем, если пинов куча огромная, более 1000, то написание UCF составляет сложности, как это можно автоматизировать, и так же наоборот передача из ПЛИС в плату.
-
Вижу объявился резкий лидер - Active-HDL, согласен интерфейс у него лучше всех, кто какого мнения от Rivera? Я по ней только галопом пробежал, т.к. щас работы много, один минус, от Active-HDL - не назначаются клавиши на любые команды. Также Active-HDL в Verilog не поддерживает Constant Function и generate глючит, Rivera это умеет. У ModelSim самый поганный интерфейс, причем MS6 ещё и не запоминает настройки интерфейса проекта, и (5.8) вообще зависал, если где-либо есть условие больше равно или меньше равно. Cadence пользовал только старенький, т.ч. ничего сказать не могу.
Кстати, VETAL, зачем проводить Актив-HDL(functional) + Моделсим(post routing)? Можно ведь все на одной сделать, Active поддерживает post routing. Да и к тому же зачем платить за две системы, особенно если и денег-то дадут только на одну, когда можно одной нормальной обойтись.
-
Вопрос интересен для выбора покупки лицензионного продукта, к тому же в каждой программе есть свои баги, хотелось бы купить и после не плеваться от покупки ;). Рекомендуйте!
-
Много раз звучало сообщение от меня и других, как реализовать функцию 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, т.ч. юзайте :)
-
Работаю на Verilog, в институте начинал с VHDL, удобство описания на Verilog по стравнению с VHDL для начинающих очень ощутимо, и вот тут наткнулся на возможность быстрого изменения устройств через параметры и т.д., прищел в тупик, т.к. мало того что не все операторы Verilog 2001 поддерживаются (generate глючит в Ac*tive-HDL6.2SP1), да ещё нет поддержки математических функций, таких как log2 и т.п., засунуть эти функции в параметры не получилось, по услышанному мною в VHDL это поддерживается, вот теперь думаю потихоньку изучать и его, хотя было бы классно, чтобы в SystemVerilog это реализовалось и особо не надо было прыгать с языка на язык, мне VHDL не нравиться за его муторность текста, огромные текстовики простых вещей, слишком геморно.
-
Проверено только что, 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, и если его софт не поддерживает, то это огромный минус.
Препроцессор Verilog
в Языки проектирования на ПЛИС (FPGA)
Опубликовано · Пожаловаться
У меня несколько вопросов для обсуждения:
1. Как можно посмотреть визуально файлы после обработки препроцессора, не пуская работу далее?
2. Как можно расширить препроцессор Verilog? Чтобы он имел больше возможностей от C++, чем кастрированный как сейчас, хотелось бы добавить возможности как в С++:
а) неявное обращение в `include "файл", а не указывать весь путь до папки и выход на уровень выше "../../файл", а если проект меняет расположение, то каждый раз править достало;
б) конкатенация имен в препроцессоре, почему нет её в Verilog, кто вообще кастрировал всё что самое необходимое?
в) `ifdef - есть, `else - есть, `endif - есть, где `elseif?
г) перенос `define на другую строку \, легче ведь иметь перенос текста, чем делать длинные строки;
3. И самое главное, как можно после расширения препроцессора сделать так, чтобы подменить его в ISE?
Во, сколько вопросов :)