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

И еще хотел спросить о директивах `protect, `protected. Как используются эти директивы? Попробивал, чтот-то не понял как они используются.

Заранее, спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно! Моделсим выдает Error, a ActiveHDL net.

А как Вы получили ошибку? Я проверил, такой код работает без проблем(в questasim):

module t(a,b,clk,reg1);
input a,b,clk;
output  reg1;
reg  reg1;
wire a, b, clk;

always @(posedge clk) begin
  if (a) reg1 <= 1'b1;
  else  reg1 <= 1'b0;
end

always @(posedge clk) begin
  if (b) reg1 <= 1'b1;
  else  reg1 <= 1'b0;
end

endmodule

module tt;
reg a, b, clk;
wire reg1;

t u_0 (.a(a), .b(b), .clk(clk), .reg1(reg1));

initial begin
  clk = 0;
  forever #5 clk=~clk;
end

initial begin
  a=0;
  b=0;
  #200; a=1;
  #200; a=0; b=1;
end

endmodule

причем работает и при присвоении reg1 <= 1'b0 всегда, как и у Вас в первом посте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А зачем так писать. Разве за этим поведенческим описанием не скрывается элементарная и наглядная запись, не требующая обсуждения:

module t(a,b,clk,reg1);

input a,b,clk;

output reg1;

reg reg1;

 

always @(posedge clk)

begin

reg1 <= a | b;

end

 

endmodule

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выскажу своё IMHO по поводу сравнения.

Как-то общался, со знакомым, у них на конторе используют МоделСим.

Вердикт такой, Актив во многом удобнее, и интуитивнее.

Но у него есть 2 минуса:

- чаще случаются глюки (типа описанного выше);

- слабее с опциями симулятора (1 раз мне не хватало того что было в моделсим).

Для себя использую Актив, за всё время на глюк нарвался только 1 раз, а удобство и интуитивность - на высоте. Особенно учитывая что FPGA это только часть работы. Актив с перерывом в месяц вспоминается с ходу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выскажу своё IMHO по поводу сравнения.

Как-то общался, со знакомым, у них на конторе используют МоделСим.

Вердикт такой, Актив во многом удобнее, и интуитивнее.

Но у него есть 2 минуса:

- чаще случаются глюки (типа описанного выше);

- слабее с опциями симулятора (1 раз мне не хватало того что было в моделсим).

Для себя использую Актив, за всё время на глюк нарвался только 1 раз, а удобство и интуитивность - на высоте. Особенно учитывая что FPGA это только часть работы. Актив с перерывом в месяц вспоминается с ходу.

И один глобальный "+", в ActiveHDL можно написать скрипты на PELR-e. Конечно TCL-хорошо, но PERL превосходит. Была у меня идея написать assembler compiler для моего RISC-а на перле, и интегрировать компилятор в ActiveHDL. И вообше, можно написать HDL библиотеки. Кстати, пробывал кто-нибудь сделать уже скомпилированные библиотеки дкя ActiveHDL? Как можно создать свой IPCORE и пристыковать, внедрить его в программу так, что-бы его IPCORE Generator рсспознавал и смог сконфигурировать core как собственные. Как я понял, в ActiveHDL\IPCORE\ директории работают CGI скрипты.

Изменено пользователем shems

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Starting with Active-HDL 6.2, library files can be protected. Library protection offers an additional security level when compiled models are distributed in the form of library files without releasing their source code.

The default protection level is 0 (no protection). Library files are not encrypted and the structure of the model is visible after elaboration. At levels 1 through 3, library files as well as temporary files created during compilation are encrypted.

Levels 2 and 3 disable read access to the model. The subcomponents and internal signals of the model cannot be examined or displayed in Active-HDL windows, for example on the Structure tab of the Design Browser window, in the Symbols Toolbox window of the Block Diagram Editor, in the Symbol Editor, etc. The example of a design containing the protected unit is shown in the picture below.
The highest protection level (3) additionally prevents refreshing the model, i.e. upgrading the model compiled with an older version of the compiler.

You can protect your library only while compiling your source file(s) in the command line. The protection level must be specified during compilation, by using the -protect <level> switch of the acom or alog command. The switch works for both the VHDL and the Verilog compiler as it is shown in the examples below:
-- VHDL
acom -protect 3 src/cpucore.vhd
// Verilog
alog -protect 3 src/cpucore.v

 

При включенной опции Lint, Active-HDL информирует о перечисленных выше ошибках.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...