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

 
 
> verilog аналог others из vhdl
el.d
сообщение Aug 30 2017, 08:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 2-08-17
Пользователь №: 98 600



Здравствуйте.

В VHDL есть чудесная вещь, под названием others, которая позволяет делать например так:
Код
type my_array is array (0 to N-1) of std_logic_vector(W-1 downto 0);
signal example : my_array;

example <= (others=>(others=>'0'));


А как в Верилоге также разом обнулить все биты в аналогичной ситуации? Ну то есть имеем такую штуку:

Код
logic [W-1:0] example [0:N-1];

Это по идее аналог конструкции на VHDL, которую я привел выше. Как обнулить?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alexadmin
сообщение Aug 31 2017, 09:27
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Подбросим в топку:
Цитата
example <= (0=>"0110", 4=>"1100", 6=>"0011", others=>(others=>'0'));


Размер элемента захардкодил для краткости. Вериложники, ваш ход wink.gif
Go to the top of the page
 
+Quote Post
Swup
сообщение Aug 31 2017, 11:09
Сообщение #3


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

Группа: Свой
Сообщений: 127
Регистрация: 2-09-11
Из: Москва
Пользователь №: 66 970



Цитата(alexadmin @ Aug 31 2017, 13:27) *
Вериложники, ваш ход wink.gif


Код
logic [7:0] [7:0] data = {0:6 ,4:12, 6:3, default:'0};

Но я бы не стал так писать. Не достаточно прозрачно для беглого понимания и правки.
Лучше так:
Код
logic [7:0] [7:0] data = {default:'0};
initial
begin
    data[0] = 6;
    data[4] = 12;
    data[6] = 3;
end


ПС Кстати во всех примерах не нужно писать '0, можно просто 0. Черточка подчеркивает, что происходит обнуление массива в контексте битов, а не в контексте чисел.
В пример выше на VHDL эту функцию выполняет (others=>'0') как я понял.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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