47
21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected] 1 6. Пример проектирования арифметического устройства Автоматизация проектирования компьютерных систем

апкс 2011 06_проектирование арифметических устройств

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: апкс 2011 06_проектирование арифметических устройств

21.02.2011д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ

e-mail: [email protected] 1

6. Пример проектирования арифметического устройства

Автоматизация проектирования компьютерных систем

Page 2: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

2

Цель лекции и содержание

Цель ознакомление с проектами, которые вынесены на лабораторные занятия

План Беззнаковое умножение Знаковое умножение Быстрое знаковое умножение Беззнаковое деление Знаковое деление Реализация арифметических устройств, на

примере последовательного сумматора

Page 3: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

3

Двоичное умножение

• Двоичное умножение требует только операций сложения и сдвига. В качестве примера выполняется умножение двоичных чисел: 1310x1110.

1101 (13) 1011 (11) 1101 1101 100111 0000 100111 110110001111 (143)

МножимоеМножитель

Частичныепроизведения }

Page 4: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

4

Схема устройства двоичного умножения

8 7 6 5 4 3 2 1 0CONTROL

LoadShAd

Clk

Done

St

Произведение

Множимое

МножительCm 4-битный

сумматор

M

ACC

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

Page 5: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

5

Выполнение умножения

000001011 M(11)1101 (13)011011011001101101 M 1101100111101010011110 M

001001111 M 1101100011111010001111 (143)

первоначальное содержание регистра произведения(сложение с множимым, так как М=1)после сложенияпосле сдвига(сложение с множимым, так как М=1)после сложенияпосле сдвига(пропуск операции сложения, так как М=0)после сдвига(сложение с множимым, так как М=1)после сложенияпосле сдвига(окончательный результат)

Линия, разделяющая произведение и множимое

Page 6: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

6

Граф управляющего автомата устройства умножения

S00

S4Ad

S2Ad

S3Sh

S9Sh

S10Done

S5Sh

S8Ad

S7Sh

S6Ad

St'

St

M

MM

MM' M'

M'M'

Page 7: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

7

Управляющий блок со счетчиком

Схемасложение-сдвиг

Счетчик

Схема управления умножениемSt

M

DoneLoadAdSh

K

S00

S2Ad

S3Sh

S5Done

St' St

M K'M'M'

M

K'

S4Sh

K

KM'

Page 8: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

8

Умножение знаковых двоичных чисел (1)

0.1012 = 5/810 1.0112 = -5/810

Множимое Множит ель+ +- ++ -- -

0.1 1 1 (+7/8) Множимое x 0.1 0 1 (+5/8) Множитель(0. 0 0)0 1 1 1 (+7/64) (0.)0 1 1 1 (+7/16) 0. 1 0 0 0 1 1 (+35/64)

Примечание:правильное представлениедробных частичных произведений требуетрасширения знакового бита за двоичнойточкой,как это показано в скобках. (Такое

расширение не является обязательным для аппаратуры)

1.1 0 1 (-3/8) x 0.1 0 1 (+5/8)(1. 1 1)1 1 0 1 (-3/64) (1.)1 1 0 1 (-3/16) 1. 1 1 0 0 0 1 (-15/64)

Примечание:расширение знакового битаобеспечивает правильное представление отрицательного произведения

Page 9: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

9

Умножение знаковых двоичных чисел (2)

0.1 0 1 (+5/8) x 1.1 0 1 (-3/8)(0. 0 0)0 1 0 1 (+5/64) (0.)0 1 0 1 (+5/16) 0. 0 1 1 0 0 1 1. 0 1 1 (-5/8) Примечание: выполняется сложение 1. 1 1 0 0 0 1 (-15/64) с дополнительным кодом множимого

1.1 0 1 (-3/8) x 1.1 0 1 (-3/8)(1. 1 1)1 1 0 1 (-3/64) (1.)1 1 0 1 (-3/16) 1. 1 1 0 0 0 1 0. 0 1 1 (+3/8) Примечание: выполняется сложение 0. 0 0 1 0 0 1 (+9/64) с дополнительным кодом множимого

Page 10: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

10

Схема устройства умножения в дополнительном коде

8 7 6 5 4 3 2 1 0

CONTROL

LoadShAd

Clk

Done

St

Произведение

Множимое

МножительCm Cm

Cm

5-битный полныйсумматор

Формировательобратного кода

M

Page 11: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

11

Граф состояний для умножения в дополнительном коде

S00

S4Ad

S2Ad

S3Sh

S90

S10Done

S5Sh

S8CmAd

S7Sh

S6Ad

St'

St

M

MM

MM'

M'

M'M'

Page 12: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

12

Структурная схема быстрого устройства умножения

CONTROL

LoadShAdSh

Done

St

Произведение

Множимое

CmCm

Cm Формировательобратного кода

M

B

Page 13: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

13

Граф состояний управляющего автомата для быстрого устройства умножения

S00

S10Done

St'

St

MM'

M'

M'

M'

S2Sh

S9Sh

S4Sh

S6Sh

M'

M'

M

M

MM

MM'M

Page 14: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

14

Деление двоичных чисел

1010 частноеделитель 1101 10000111 делимое 1101 0111(135 13 = 10 0000 остаток 5) 1111 1101 0101 0000 0101 остаток

Page 15: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

15

Устройство двоичного деления

X8 X7 X6 X5 X4 X3 X2 X1 X0

0 Y3 Y2 Y1 Y0

Регистр частного

Устройство вычитанияи сравнения

Control

Clock

St(Старт-сигнал)

ShLd

C

Su

Sh

V(переполнение)

Page 16: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

16

Условие переполненияX8X7X6X5X4 Y3Y2Y1Y0 – левые пять битов регистра делимого больше или равны делителю, частное будет больше 15 и возникнет переполнение. Обратите внимание: если X8X7X6X5X4 Y3Y2Y1Y0 , частное будет

16160000

0123

345678

0123

45678

0123

012345678

YYYY

XXXXXXYYYYXXXXX

YYYYXXXXXXXXX

Page 17: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

17

Граф состояний для управляющей схемы устройства деления

S0Stop

S3Su

S5Su

S8Su

S100

St' StS2ShC'

S4Sh

S6Sh

S7Sh

S9Su

C/VC

C

C'

C'

C'

CC'

C

Page 18: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

18

Структурная схема устройства деления знаковых чисел

ДелимоеAcc (Остаток) Q (Частное)

1616

16

16

16

1616

(Шина данных)

Делитель

Cm2

Cm2

Ena

C Sh Ldl

LduCm1

St

V

LdsSLdd

Co1Ldd

K

DBus

Знак

Управл.схема

Cout Cin

Page 19: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

19

Описание сигналов схемы устройства деления знаковых чисел

Ldu – загрузка с шины старшей половины делимого; Ldl – загрузка с шины младшей половины делимого; Lds – загрузка знака делимого в знаковый триггер; S – знак делимого; Cm1 – дополнение регистра делимого (дополнительный код); Ldd – загрузка с шины делимого; Su – подключение выхода сумматора к шине (Ena) и загрузка верхней

половины делимого из шины; Cm2 – разрешение преобразования в обратный код (Cm2 подключен к

знаковому биту делимого таким образом, что положительное число преобразуется в дополнительный код, а отрицательное – нет);

Sh – сдвиг регистра делимого влево на 1 разряд и увеличение счетчика на 1;

C – выход переноса сумматора (если С=1, делитель можно вычесть из верхней части делимого);

St – старт; V – переполнение; Qneg – частное будет отрицательным (Qneg = 1, когда знаки делимого и

делителя различны).

Page 20: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

20

Граф управляющей схемы для деления знаковых чисел

S0Rdy

S5Sh

St' St

S3Ldd

S8Su

S10V

S2Ldl

S7Sh

S9Co1

S4Co1Ldd

S6Sh

C

SS'

C

C'K'C'

KC'C

K'

C'Qneg'C'Qneg

KQneg

KQneg'

Page 21: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

21

Проектирование арифметического устройства на примере

последовательного сумматора

Page 22: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

22

Структурно-функциональная схема последовательного сумматора

Управл.схема

N(Старт-сигнал)

Clock

Аккумулятор

Регистр слагаемого

Последовательныйсумматор

Sh

Load

Sh

Clock

FullAdder

Q RQ'

DCK

xi

yi

ci+1ci

x3

y3

x2

y2

x1

y1

x0

y0

sumiSIShLoad

SIShLoad

N

NS5Sh

S2Sh

S4Sh

S1Load

S3Sh

N'

N'S00

Page 23: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

23

Функционирование последовательного сумматора

X Y ci sumi ci+1

t0 0101 0111 0 0 1t1 0010 1011 1 0 1t2 0001 1101 1 1 1t3 1000 1110 1 1 0t4 1100 0111 0 (1) (0)

Page 24: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

24

Проектирование управляющего автомата

N

NS5Sh

S2Sh

S4Sh

S1Load

S3Sh

N'

N'S00 N=0 N=1 Sh Load

S0 S0 S1 0 0S1 S2 S2 0 1S2 S3 S3 1 0S3 S4 S4 1 0S4 S5 S5 1 0S5 S0 S1 1 0

Следующее состояние Значение выходаТекущеесостояние

Page 25: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

25

Verilog-модель управляющего автомата.1

module FSM (input Clk, Reset, N,output Sh, Load);

/* Определение меток состояний*/parameter S0=3'b000;parameter S1=3'b001;parameter S2=3'b010;parameter S3=3'b011; parameter S4=3'b100;parameter S5=3'b101;

Page 26: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

26

Verilog-модель управляющего автомата.2

reg [2:0] state, next_state;

/* Регистр состояний автомата*/ always @(posedge Clk, posedge Reset)

if (Reset) state <= S0;

elsestate <= next_state;

Page 27: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

27

Verilog-модель управляющего автомата.3

/* Функция переходов*/always @(*)

case (state)S0 : if (N) next_state <= S1;

else next_state <= S0;S1 : next_state <= S2;S2 : next_state <= S3;S3 : next_state <= S4; S4 : next_state <= S5; S5 : if (N) next_state <= S1;

else next_state <= S0;default: next_state <= S0;

endcase

Page 28: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

28

Verilog-модель управляющего автомата 4

// Функции выходовassign Sh = (state==S2) ||(state==S3)||

(state==S4) || (state==S5) ? 1'b1 : 1'b0;assign Load = (state==S1) ? 1'b1 : 1'b0;

endmodule

Page 29: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

29

Кодирование состояний автомата при синтезе схемы

work.FSM(verilog)-state_h.state[5:0]original code -> new code

000 -> 000001001 -> 000010010 -> 000100011 -> 001000100 -> 010000101 -> 100000

Page 30: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

30

Verilog-модель регистра

module register(input Clk, Load, Sh, SI, input [3:0] D;output reg [3:0] Q);

always @(negedge Clk)if (Sh)

Q <= {SI, Q[3:1]};else if (Load)

Q<=D;endmodule

4

LoadSI

ShClk

DReg

Q4

Page 31: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

31

Verilog-модель последовательного сумматора.1

module seq_adder (input N, clk, reset,input [3:0] X, Y,output [4:0] result);

wire Sh, Load, sum, Cout; wire [3:0] Xin, Yin; reg Cin;

// Подключение компонентов: автомат и два регистраFSM U1 (.Clk(clk), .Reset(reset), .N(N), .Sh(Sh),

.Load(Load));register Reg_X (.Clk(clk), .Load(Load), .Sh(Sh),

.SI(sum), .D(X), .Q(Xin));register Reg_Y (.Clk(clk), .Load(Load), .Sh(Sh),

.SI(Yin[0]), .D(Y), .Q(Yin));

Page 32: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

32

Verilog-модель последовательного сумматора.2

// Двоичный сумматорassign sum = Xin[0]^Yin[0]^Cin; assign Cout = (Xin[0]&Yin[0])|(Xin[0]&Cin)|(Yin[0]&Cin);

//Триггер always @(negedge clk or posedge Load)

if (Load) Cin <=1'b0;else if (Sh) Cin<=Cout;

assign result={Cin,Xin};endmodule

Page 33: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

33

TestBench для последовательного сумматора 1

module seq_adder_tb;// Декларации внутренних сигналов

reg N, clk, reset; reg [3:0]X, Y;wire [4:0] result;reg [3:0] X_test [5:0], Y_test [5:0]; parameter period = 'd 20; wire ERROR;

// Описание тестируемого модуляseq_adder UUT (.N(N), .clk(clk), .reset(reset),

.X(X), .Y(Y), .result(result));

Page 34: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

34

TestBench для последовательного сумматора 2

initial beginX_test [0] = 4'b0000; X_test [1] = 4'b0001;X_test [2] = 4'b1000; X_test [3] = 4'b1111;X_test [4] = 4'b1010; X_test [5] = 4'b0101; Y_test [0] = 4'b0000; Y_test [1] = 4'b0001;Y_test [2] = 4'b1000; Y_test [3] = 4'b1111;Y_test [4] = 4'b1010; Y_test [5] = 4'b0101;

end

initial begin // генератор синхросигнала clk=1'b0; reset=1'b1;#5 reset<=1'b0;forever #(period/2) clk=~clk;

end

Page 35: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

35

TestBench для последовательного сумматора 3integer i, j; reg [3:0]A,B; reg [4:0] SUM, Sum_etalon;

alwaysfor (i=0; i<=5; i=i+1) begin

X = X_test[i];for (j=0; j<=5; j=j+1) begin

N = 1'b1; Y = Y_test[j];N = repeat (2) @(negedge clk) 1'b0;//чтение результатов операции#(5*period) A=X; B=Y; SUM=result; Sum_etalon={1'b0,X} + Y;

endend

Page 36: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

36

TestBench для последовательного сумматора 4

assign ERROR = (SUM!=Sum_etalon)? 1'b1: 1'b0;initial $monitor ($realtime,

"ps %h %h %h %h %h %h ",N,clk,reset,X,Y,result);

endmodule

Page 37: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

37

Макрофайл для тестирования

comp -include $DSN\src\register.vcomp -include $DSN\src\fsm.vcomp -include $DSN\src\seq_adder.vcomp -include "$DSN\src\TestBench\seq_adder_TB.v"

asim seq_adder_tb

close –listclose –wavewave N clk reset X Y SUMwave UUT/U1/sh UUT/U1/load UUT/U1/statelist -dec A B SUM Sum_etalon ERRORrun 5000 ns

Page 38: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

38

Результаты тестирования последовательного сумматора

TIME A B SUM Sum_etalon ERROR 0.000 ? ? ? ? 0

140.000 ns 0 0 0 0 0280.000 ns 0 1 1 1 0420.000 ns 0 8 8 8 0560.000 ns 0 15 15 15 0700.000 ns 0 10 10 10 0840.000 ns 0 5 5 5 0980.000 ns 1 0 1 1 01.120 us 1 1 2 2 01.260 us 1 8 9 9 01.400 us 1 15 16 16 01.540 us 1 10 11 11 01.680 us 1 5 6 6 01.820 us 8 0 8 8 01.960 us 8 1 9 9 02.100 us 8 8 16 16 02.240 us 8 15 23 23 02.380 us 8 10 18 18 02.520 us 8 5 13 13 02.660 us 15 0 15 15 0

Page 39: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

39

Имплементация. Размер проекта

Размер проекта 270 эквивалентных вентилей. Использует 15 триггеров и 15 блоков LUT.Logic Utilization:Number of Slice Flip Flops: 15 out of 1,536 1%Number of 4 input LUTs: 14 out of 1,536 1%

Total equivalent gate count for design: 204

Page 40: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

40

ИмплементацияОценка временных параметров.1

Page 41: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

41

ИмплементацияОценка временных параметров. 2

Page 42: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

42

ИмплементацияОценка временных параметров. 3

N

result[0]

10,3 ns

1,6 ns

clk

0,6 ns

Page 43: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

43

Командный файл для моделирования после имплементации comp -include "$DSN\src\seq_adder_timesim.vhd"

comp -include"$DSN\src\TestBench\seq_adder_TB.v"

asim seq_adder_tb -sdftyp/UUT=$DSN\SRC\seq_adder_timesim.sdf

close -listwavewave -noreg N clk reset X Y SUMwave UUT/U1/sh UUT/U1/load UUT/U1/state

list -collapse -dec A B Sum Sum_etalon ERRORrun 5000 ns

Page 44: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

44

Приложение – Макро-язык. AsimКоманда asim - Инициализирует моделирование.

asim [ -help ] [ -file <filename> ] [ -i <iteration_limit> ]<configuration> | <entity> [ <architecture> ]

Аргументы:-help – вывод короткого описания синтаксиса команды;-file <filename> – описывает необязательный командный файл,

содержащий аргументы для команды asim. Эти аргументы можно использовать вместо того, чтобы непосредственно вводить их в команде;

-i <iteration_limit> – устанавливает максимальное число дельта-итераций, которые могут быть выполнены в одно и то же время моделирования. Это позволяет избежать бесконечных циклов;

<configuration> – задает имя конфигурации верхнего уровня для моделирования;

<entity> – имя интерфейса верхнего уровня для моделирования;<architecture> – имя архитектуры для моделирования. Если имя не

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

Page 45: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

45

Команда list Открывает окно List и/или добавляет сигналы к существующему окну.list [ -collapse ] [ -<radix> ][ -width <n> <item_name> ... ]

Аргументы:-collapse – переключатель между промежуточными и результирующими значениями, которые выводятся на экран. Результирующим считается значение последнего цикла моделирования в описанном времени моделирования.

-<radix> – задает систему счисления для сигналов, описанных в команде. Доступные опции: binary (abbr. bin) – двоичная; octal (abbr. oct) – восьмеричная; decimal (abbr. dec) –десятичная; hex – шестнадцатеричная;

-width <n> – параметр “n” задает ширину колонки; < item_name>– имя сигнала для размещения в окне List.

Page 46: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

46

Команда wave

Команда добавляет указанные сигналы в окно Wave. wave [-<radix>] [ -<format> ] [ -height <pixels> ]

[ -color <red_value, green_value, blue_value> ] [ <item_name> ] ... ] ...

Аргументы:-<format> – необязательный параметр, задающий один из следующих

типов: literal (abbr. li) – символьный; logic (abbr. lo) – логический; Символьная waveform представляет собой прямоугольники, в которые вписаны значения. Логические сигналы могут быть либо 1, 0, X или Z.

-height <pixels> – высота waveform в пикселах;-color <red_value, green_value, blue_value> – цвет waveform,

описываемый тремя параметрами с диапазоном значений 0-255, соответствующими красной, зеленой и синей составляющей цвета (RGB-модель цвета);

<item_name> – имя сигнала.

Page 47: апкс 2011 06_проектирование арифметических устройств

21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: [email protected]

47

Команда run Выполняет моделирование. Синтаксис: run [ <time_step> | @<time> | -all | -next ] Аргументы: <time_step> – промежуток времени для моделирования; @<time> – абсолютное время, до которого будет

осуществляться моделирование; -all – выполняются все возможные шаги моделирования, пока не

будет обработано последнее событие из очередей драйверов; -next – выполнение до следующей записи в очередь драйвера.