Является ли это std_logic_vector декларации допускается в VHDL

J

Jansi Meena

Guest
Привет друзья, Я новичок в VHDL и обучения медленно. Я нашел в одном коде этого формата "сигнал: std_logic_vector: ="? 00000000 "; Где (х downto 0) вещи .. этот тип декларации, принятой благодаря ....
 
Вы уверены, что это был сигнал? такое заявление имеет право на постоянных, так как начальное значение задает длину массива. Но имейте в виду, что вектор, направление не становится автоматически "на" вектор. Таким образом, в вашем случае (если его можно взять длину сигнала от начального значения), вектор на самом деле (от 0 до 7), а не (7 downto 0).
 
А жаль Tricky, это, кажется, для постоянной, я просто неправильно typed.Thanks Константа: std_logic_vector: = "00000000"; , однако в этом случае, каким будет формат постоянного " "Это " downto "или" " Спасибо
 
Без сомнения, : std_logic_vector (от 0 до 7): = "00000000"; Приветствия
 
любой массив, который задается с помощью инициализации по умолчанию будет "до".
 
Спасибо. Но почему вы говорите, это сигнал: std_logic_vector: = "00000000"; , как массив ... Это восьмиразрядный сигнал права. Я не тип, объявленный как массив ... Pls вы можете объяснить?
 
std_logic_vector представляет собой массив типа.
 
Ох ... Я думал, что это массив Тип является массив (от 1 до 8) std_logic_vector (7 downto 0); сигнал х: =
 
оно и есть. Но если вы посмотрите на декларацию std_logic_vector вы увидите: ТИП std_logic_vector это массив (природный диапазон) std_logic;
 
Спасибо, я получил его. Теперь еще одно сомнение. Если я заявляю, ни в одном из моих заявлений массив (естественного ареала) вместо (от 1 до 8) или конечной длины, что происходит?. Сколько глубины моего сигнала получит в таком случае?. Я не вижу в этом диапазоне (естественного ареала). Каким инструментом угадать глубину?. Любая идея?.
 
при объявлении массива типа, у вас есть два варианта: 1. дать ему фиксированный диапазон, так что длина массива является постоянной величиной. 2. дать ряд specficiation, поэтому длина устанавливается, когда она была объявлена. Таким образом, для одного: тип my_array_t является массив (от 1 до 8) число; сигнал сигнал: my_array_t; Это всегда длиной 8, пользователь не может установить my_array_t длина тип массива (естественного ареала) целого; сигнал sig1: my_array_t (1 до 8); сигнал sig0: my_array_t (71 downto 0), длина устанавливается, когда сигнал объявлена. Типа в массиве границ объявления типа ограничивает то, что пользователь может сделать. Таким образом, выше, вы не можете использовать отрицательные значения, потому что тип был объявлен с использованием естественной. Если вы decalred диапазоне как целое, вы можете использовать любое целое число. Тип my_array_t является массив (целое диапазон) число; сигнал sig0: my_array_t (7 downto -8); - длина 16 сигнал sig1: my_array_t (-100 до 99) - длина 200, но VHDL позволяет использовать практически любое целое или перечислимого типа в пределах границ. так что если вы действительно хотите, вы можете сделать следующее: сигнал my_array_t является массив (std_logic диапазон) число; сигнал sig0: my_array_t ('U' на '-') - длина 9, и вы используете std_logic в качестве индекса массива: sig0 ('1 ')
 
Спасибо за кратким. Но это первый раз, я слышал о нег индекс в массиве (от -8 до 7). Что толку?, Это синтезируемого? тоже?
 
если вы посмотрите на декларацию std_logic_vector, вы видите, что он использует природные, так что вы не можете использовать, кол-ве в std_logic_vector. Но для своих массивов, отрицательные значения не являются проблемой. Новых основных типа точка sfixed и ufixed использования целого спектра, чтобы сделать его легко увидеть, расстояние между целой и дробной части числа.
 
Ну Отрицательные числа синтезируемых, отрицательные числа преобразуются в до двух комплимент двоичный эквивалент.
 
Да, но что именно я прошу это, как это заявление позволило синтезировать? данные
 
Да, Нет ничего плохого. Индекс просто метод переключения мультиплексора или решения барана. Значения не имеет значения - его нагрузка биты в конце дня. Если делать это-ве в VHDL код легче для Вас, чтобы прочитать, а затем использовать отрицательный индекс.
 
да, только рациональные, дробно и алгебраические числа не допускается. Даже тогда, когда вы объявляете my_array (-2), то инструмент будет использовать весь индекс (от -8 до 8), от 0 до 16 только. Это только для удовольствия человеческого глаза :) ура
 
Пожалуйста, определите, что вы имеете в виду рациональные, дробно и алгебраических? Инструмент будет использовать -8 до 7, и использовать их в качестве -8 до 7, а не от 0 до 15.
 

Welcome to EDABoard.com

Sponsor

Back
Top