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

Как описать аналоговую цепь в SV?

Собственно сабж.

В VHDL просто - объявляем переменную типа real и все дела. А в SV "A net may not be a 'real' type". А что делать, если порт компонента должен быть inout ? Как описать его аналоговую сущность? Использовать strength не хочется.

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


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

"как...", а главное зачем?!..

 

если вам для синтеза (хитрое вычисление констант, параметров), то самый простой путь - использование над-предпроцессора (Python, TCL, etc)

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


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

"как...", а главное зачем?!..

Для моделирования.

если вам для синтеза (хитрое вычисление констант, параметров), то самый простой путь - использование над-предпроцессора (Python, TCL, etc)

Не, мне для моделирования :)

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


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

В Верилоге делал переменную real, а между модулями таскал через reg [63 : 0] и функции $realtobits и $bitstoreal.

 

А так, может имеет смысл посмотреть в сторону Verilog-AMS и т.п.

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


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

В Верилоге делал переменную real, а между модулями таскал через reg [63 : 0] и функции $realtobits и $bitstoreal.

 

А так, может имеет смысл посмотреть в сторону Verilog-AMS и т.п.

А не подскажите какой пакет поддерживает Verilog-AMS или VHDL-AMS.

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


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

В Верилоге делал переменную real, а между модулями таскал через reg [63 : 0] и функции $realtobits и $bitstoreal.

О! Спасибо, примерно так и буду делать.

А так, может имеет смысл посмотреть в сторону Verilog-AMS и т.п.

Не, в моем случае это из пушки по воробьям.

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


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

О! Спасибо, примерно так и буду делать.

 

19. Hierarchy

An important enhancement in SystemVerilog is the ability to pass a value of any data type through module ports, using nets or variables. This includes reals, arrays, and structures.

 

19.8 Port declarations

 

With SystemVerilog, a port can be a declaration of an interface, an event, or a variable or net of any allowed data type, including an array, a structure, or a union.

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


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

Дык чего ж тогда квеста ругается? :crying:

 

 

module pipa (output real p);
  initial begin : main
    p = 0.0;
    repeat (10) begin
      #1 p = p + 1.25;
    end
    $stop;
  end
endmodule

module tb;
  real p;

  pipa popa (.* );

  always @(p) begin
    $display("result : %f", p);
  end
endmodule

 

 

# result : 1.250000

# result : 2.500000

# result : 3.750000

# result : 5.000000

# result : 6.250000

# result : 7.500000

# result : 8.750000

# result : 10.000000

# result : 11.250000

 

 

где ругается ? :))))

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


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

Гы. А если таким образом,

module pipa (inout real p);

initial begin : main

p = 0.0;

repeat (10) begin

#1 p = p + 1.25;

end

$stop;

end

endmodule

 

module tb;

real p;

 

pipa popa (.* );

 

always @(p) begin

$display("result : %f", p);

end

endmodule

то

# ** Error: Бла-бла-бла: A net may not be a 'real' type.

Гы :)

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


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

Гы. А если таким образом,

 

смените на "ref" и будет счастья

 

ИМХО inout с real не реализуемо, т.к. функция разрешения драйверов оговорена только для битов.

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


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

Вопрос к знатокам Verilog. Когда (в стандарте какого года) появилась в Verilog поддержка типа real в качестве порта?

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


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

Вопрос к знатокам Verilog. Когда (в стандарте какого года) появилась в Verilog поддержка типа real в качестве порта?
Похоже это появилось только в стандарте SystemVerilog-2005, в Verilog-1995/2001 такой возможности не было. Там в разделе "12.3.5(7) Real numbers in port connections" предлогают тянуть шину и использовать функции $realtobits и $bitstoreal.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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