реклама на сайте
подробности

 
 
18 страниц V  « < 13 14 15 16 17 > »   
Reply to this topicStart new topic
> Документация на System Verilog, Сбор документации на SVerilog. И обсуждение тонких моментов синтаксиса
Nix_86
сообщение Apr 11 2011, 18:14
Сообщение #211


Частый гость
**

Группа: Свой
Сообщений: 85
Регистрация: 7-04-11
Пользователь №: 64 200



Цитата(DevL @ Oct 27 2010, 13:58) *
и ссылка уже умерла, спасибо заранее!

по просьбе трудящихся освежаю ссылку:
IEEE Standard for SystemVerilog - Unified Hardware Design , Specification? and Verification Language 2009

Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Apr 20 2011, 14:18
Сообщение #212


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



диар олл,

подскажите пожалуйста по приведению типов.
есть следующая комбинация типов:

typedef bit [7:0] byte_type_vt;
typedef bit [31:0] memory_word_vt;

typedef union packed {
byte_type_vt [0:3] byte_view;//ахтунг - реверсивный порядок
memory_word_vt memory_word_view;
}mem_word_ut;

mem_word_ut bit_vec_32;
memory_word_vt a;

вопрос. как будут располагаться биты каждого байта, если смотреть на них как на 32-битное слово, т.е.

a=bit_vec_32.memory_word_view;

вопрос в общем-то кажется простым, но я не могу найти это в стандарте, если кто помнит где это описато, плз, подскажите.
ЗЫ: фишка в том, что как я тут недавно обнаружил, Квеста, начиная с версий позже начала 2010г., имеет на это приведение несколько иной взгляд чем я. те модели что работали норм, на предыдущих версиях больше правильно не работают. вот я и думаю, это из-за нарушения стандарта или из-за неопределенности в нём.

спб


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 21 2011, 07:01
Сообщение #213


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(CaPpuCcino @ Apr 20 2011, 17:18) *
подскажите пожалуйста по приведению типов...

В стандарте не смотрел, но по моим представлениям должно получиться:
byte0-bit7,... byte0-bit0, byte1-bit7, ... byte1-bit0, ... ... byte3-bit0
Mожно посмотреть в книжке "SystemVerilog for Design".
Только вряд ли это называется "приведение типов".
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Apr 21 2011, 10:34
Сообщение #214


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(ViKo @ Apr 21 2011, 10:01) *
В стандарте не смотрел, но по моим представлениям должно получиться:

вот и по моим тоже, а по представлению ментор графикс в последних версиях квестасима, видимо нет (начиная с версии 6.5е). у них в последних версиях вообще какая-то беда(10.0а я даже копать боюсь - там очевидно косяк в планировщике событий), но об этом в отдельной ветке, когда напишу им очередное послание.
в книжке этого я не видел - там пример с размерностью [3:0] [7:0] (однако, книжка всё-таки не стандарт - на неё не сошлёшься при апелляции ).
ЗЫ: да это наверное не приведение типа, но как точно назвать я не знаю, поэтому не могу сообразить в каком разделе стандарта смотреть


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 21 2011, 12:46
Сообщение #215


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(CaPpuCcino @ Apr 21 2011, 13:34) *
в каком разделе стандарта смотреть

В главе 7. Агрегатные типы данных. Там и картинки есть. Только вникать сложнее.
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Apr 21 2011, 13:10
Сообщение #216


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(ViKo @ Apr 21 2011, 15:46) *
В главе 7. Агрегатные типы данных. Там и картинки есть. Только вникать сложнее.

ага сразу туда и полез, но как-то не заметил где определено правило паковки многомерных массивов с противоположными типами убегания индекса. если знаете где, ткните, плз, конкретно в страницу


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 21 2011, 13:36
Сообщение #217


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



В стандарте не смотрел (внимательно). По логике, так, как вы написали - естественный порядок нумерации. Биты нумеруются от старшего к младшему, элементы массива - от младшего к старшему.

Может, картинка из книжки поможет.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Apr 21 2011, 14:57
Сообщение #218


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(ViKo @ Apr 21 2011, 16:36) *
Может, картинка из книжки поможет.

спасибо. эту картинку знаю, но ситуация там описанная отличается однообразным убеганием индексов в пакованных размерностях. нужно именно формальное описание из стандарта (как должно быть по логике вещей я знаю)


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 21 2011, 18:16
Сообщение #219


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Попробуйте без typedef, просто byte и int.
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Apr 21 2011, 19:06
Сообщение #220


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(ViKo @ Apr 21 2011, 21:16) *
Попробуйте без typedef, просто byte и int.

на это я пойтить не могу! в реальном проекте иерархия типов намного сложнее (до 5-6 уровней). если б было бы так просто как в примере, я конечно особо не горевал бы.
пока, где нашёл заменил на явное присваивание через циклы. но проект огромный и расставлять костыли везде ток из-за ср....х румын оутсорсеров я не стану. сижу на старой версии Квесты.


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 31 2011, 10:52
Сообщение #221


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Близкое к последнему, что здесь обсуждалось.
Обнаружил разногласия между C и SV.
В языке C битовые поля начинаются с младшего (правого) бита слова, и идут к старшим. Например,
Код
struct status_type {
unsigned delta_cts: 1; // bit 0
unsigned delta_dsr: 1;
unsigned tr_edge:   1;
unsigned delta_rec: 1;
unsigned cts:       1;
unsigned dsr:       1;
unsigned ring:      1;
unsigned rec_line:  1; // bit 7
} status;

В языке SV биты в упакованных структурах идут слева направо (от старшего к младшему).
Код
struct packed {
logic        valid; // bit 40
logic [ 7:0] tag; // bit 39..32
logic [31:0] data; // bit 31..0
} data_word;
Go to the top of the page
 
+Quote Post
ysmat
сообщение Feb 22 2012, 12:01
Сообщение #222


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 18-01-09
Пользователь №: 43 553



почему не работает знаковое умножение
CODE

module mult2(IN,OUT);

input signed [11:0] IN;
output signed [23:0] OUT;
assign OUT = IN * 12'd1000;

endmodule


в резултате получаеться неправильный выход
знаковый бит теряеться
постоянно положительный результат
Go to the top of the page
 
+Quote Post
Poluektovich
сообщение Feb 22 2012, 12:36
Сообщение #223


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 15-09-08
Из: Зеленоград
Пользователь №: 40 201



так будет работать
assign OUT = IN * 12'sd1000;
Go to the top of the page
 
+Quote Post
ysmat
сообщение Feb 22 2012, 15:35
Сообщение #224


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 18-01-09
Пользователь №: 43 553



да действительно заработало
правда места много занимает

думаю вот попробовать этот алгоритм
будет ли экономия
http://electronix.ru/forum/index.php?act=a...st&id=65881
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
myq
сообщение May 17 2012, 09:12
Сообщение #225


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 11-05-04
Из: World wide
Пользователь №: 3



Цитата(CaPpuCcino @ Apr 21 2011, 23:06) *
на это я пойтить не могу! в реальном проекте иерархия типов намного сложнее (до 5-6 уровней). если б было бы так просто как в примере, я конечно особо не горевал бы.
пока, где нашёл заменил на явное присваивание через циклы. но проект огромный и расставлять костыли везде ток из-за ср....х румын оутсорсеров я не стану. сижу на старой версии Квесты.


А вдруг синтезатор (Квартус, или ещё что) думает об этом не так, как старая Квеста... Я в таких спорных-не-моей-вине ситуациях стараюсь писать так, чтоб понятно всем было. Иначе мало ли что.


--------------------
IPSA SCIENTIA POTESTAS EST
Go to the top of the page
 
+Quote Post

18 страниц V  « < 13 14 15 16 17 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 17:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01524 секунд с 7
ELECTRONIX ©2004-2016