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

Багофича квартуса

у меня ква 7.2 сп2 собрал вот это

 

module ttest(a, b); 

    parameter int aw = 20; 
    parameter int bw = 10; 

    input wire [aw-1:0] a; // !!!!!!! 
    output wire [bw-1:0] b; // !!!!!     
    
    always @(*) begin //always_comb begin 
        int r; 
        r = $high(b) - $high(a); 
        if (r > 0) 
            b = a <<< r; 
        else 
            b = (a >>> -r);             
    end 
endmodule

 

грубейшее нарушение стандарта, хотя синтезировал верно

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


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

грубейшее нарушение стандарта, хотя синтезировал верно

 

Могли бы Вы привести номер раздела стандарта, где указана недопустимость приведенных конструкций? Просто, в порядке ликвидации безграмотности.

 

 

Спасибо.

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


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

Могли бы Вы привести номер раздела стандарта, где указана недопустимость приведенных конструкций? Просто, в порядке ликвидации безграмотности.

Спасибо.

 

Это тянется еще базового верилога :

 

Verilog 2001

 

6. Assignments

 

The assignment is the basic mechanism for placing values into nets and variables. There are two basic forms

of assignments:

The continuous assignment, which assigns values to nets

The procedural assignment, which assigns values to variables

 

SV наследует V правила, но расширяет их для переменных (но не цепей) :

 

SV

 

6.1 Introduction

...

SystemVerilog extends the functionality of variables by allowing them to be either written by procedural statements or driven by a single continuous assignment, similar to a wire.

...

 

6.7 Nets, regs, and logic

...

A net cannot be procedurally assigned.

...

In SystemVerilog, all variables can now be written either by one continuous assignment, or by one or more

procedural statements, including procedural continuous assignments.

 

Как видно только для переменных сделано послабление, цепи изменены не были.

 

ЗЫ. Данный пример не собирается квестой и квартусом в варианте Verilog 2001 (ест-но с заменой атрибутов на параметры).

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


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

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

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

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

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

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

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

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

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

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