Введение в стандарт IEEE. Справочное руководство по языку VHDL (Пересмотр стандарта IEEE. 1076-1987), страница 12

Улучшенная модель ADD4 отличается от модели ADD4 тремя особенностями:

·  Данные поступающие на входные шины (data_a, и data_b) преобразовываются к типу, без знака при помощи функции перевода unsigned(); прежде, чем они складываются.

·  Интерфейс объекта использует  сигналы типа std_logic и std_logic_vector.

·  Во время обратного присвоения сигнала на выходную шину (data_out), функция перевода std_logic_vector (); используется для управления выходной шиной std_logic_vector.

Таблица ниже отражает результаты моделирования для улучшенного кода модели add4.

время (ns)

data_a

data_b

data_out

0

0

0

0

25

1

1

2

50

2

2

4

75

3

6

100

4

4

8

125

5

5

10

150

6

6

12

175

7

7

14

200

8

8

16

225

9

9

18

250

10

10

20

275

11

11

22

300

12

12

24

325

13

13

26

350

14

14

28

375

15

15

30

Умножение и деление.

Ниже приведен пример умножения и деления описанный с использованием типового стиля кодирования:

library ieee;

use ieee.std_logic_1164.all;

use ieee.numeric_std.all;

entity mult4 is

port(data_a, data_b  : in std_logic_vector(3 downto 0);

data_out        : out std_logic_vector(7 downto 0));

end;

architecture behavior of mult4 is

begin

data_out <= std_logic_vector(unsigned(data_a) *

unsigned(data_b));

end;

В таблице ниже показаны значения на входе и выходе для примера кода приведенного выше.

Время (ns)

data_a

data_b

data_out

0  

0

0

0

25

1

1

1

50

2

2

4

75    

3

3

9

100

4

4

16

125

5

5

25

150

6

6

36

175

7

7

49

200

8

8

64

225

9

9

81

250

10

10

100

275

11

11

121

300

12

12

144

325

13

13

169

350

14

14

196

375

15

15

225

Арифметические операции и результаты

     Обратите внимание в выборке mult4 приведенной выше,  выходная шина (data_out) имеет 8 бит, для размещения результата операции умножения 4-х битных сомножителей. Таблица ниже описывает руководящие принципы, которым вы должны следовать при объявлении разрядности выходных сигналов для результатов арифметических операций.