6. Пример проектирования             арифметического устройства             Автоматизация проектирования                 к...
Цель лекции и содержание     Цель ознакомление с проектами, которые      вынесены на лабораторные занятия     План     ...
Двоичное умножение• Двоичное умножение требует только операций  сложения и сдвига. В качестве примера выполняется  умножен...
Схема устройства двоичного умножения                                                    Произведение           Load       ...
Выполнение умноженияпервоначальное содержание регистра произведения                   000001011   M(11)(сложение с множимы...
Граф управляющего автомата устройства умножения                                                 St                        ...
Управляющий блок со счетчикомСхема управления умножением St                                       Done                    ...
Умножение знаковых двоичных чисел (1)                                                        Множимое Множит ель  0.1012 =...
Умножение знаковых двоичных чисел (2)           0.1   0 1    (+5/8)         x 1.1   0 1    (-3/8)(0. 0    0)0 1   0 1    (...
Схема устройства умножения вдополнительном коде                                                   Произведение            ...
Граф состояний для умножения вдополнительном коде                                               St                        ...
Структурная схема быстрого устройстваумножения                                             Произведение                   ...
Граф состояний управляющего автомата длябыстрого устройства умножения                                           St        ...
Деление двоичных чисел                                      1010 частное    делитель       1101           10000111 делимое...
Устройство двоичного деления                 Регистр частного                                    Sh                       ...
Условие переполнения    X8X7X6X5X4 Y3Y2Y1Y0 – левые пять битов регистра    делимого больше или равны делителю, частное буд...
Граф состояний для управляющейсхемы устройства деления                                     St                   St     S0 ...
Структурная схема устройства делениязнаковых чисел    DBus (Шина данных)                               16                 ...
Описание сигналов схемы устройства    деления знаковых чисел    Ldu – загрузка с шины старшей половины делимого;    Ldl ...
Граф управляющей схемыдля деления знаковых чисел               St    S0      St                              S2           ...
Проектирование арифметического           устройства на примере       последовательного сумматора21.02.2011   д.т.н. Хахано...
Структурно-функциональная схема     последовательного сумматора                                              Аккумулятор  ...
Функционирование последовательногосумматора              X          Y                 ci           sumi   ci+1     t0     ...
Проектирование управляющего автомата              N          S0                   N               Текущее Следующее состоя...
Verilog-модель управляющего автомата.1module FSM (input Clk, Reset, N,             output Sh, Load);/* Определение меток с...
Verilog-модель управляющего автомата.2reg [2:0] state, next_state;  /* Регистр состояний автомата*/always @(posedge Clk, p...
Verilog-модель управляющего автомата.3/* Функция переходов*/always @(*)   case (state)       S0 : if (N) next_state <= S1;...
Verilog-модель управляющего автомата 4// Функции выходовassign Sh = (state==S2) ||(state==S3)||         (state==S4) || (st...
Кодирование состояний автомата при синтезе схемы work.FSM(verilog)-state_h.state[5:0]  original code -> new code    000 -...
Verilog-модель регистраmodule register    (input Clk, Load, Sh, SI, input [3:0] D;    output reg [3:0] Q);  always @(neged...
Verilog-модель последовательного сумматора.1module seq_adder (input N, clk, reset,                      input [3:0] X, Y, ...
Verilog-модель последовательного сумматора.2// Двоичный сумматор   assign sum = Xin[0]^Yin[0]^Cin;   assign Cout = (Xin[0]...
TestBench для последовательного сумматора 1module seq_adder_tb;// Декларации внутренних сигналов   reg N, clk, reset;     ...
TestBench для последовательного сумматора 2initial begin         X_test [0] = 4b0000;                X_test [1] = 4b0001; ...
TestBench для последовательного сумматора 3  integer i, j; reg [3:0]A,B;  reg [4:0] SUM, Sum_etalon;always  for (i=0; i<=5...
TestBench для последовательного сумматора 4  assign ERROR = (SUM!=Sum_etalon)? 1b1: 1b0;  initial $monitor ($realtime,    ...
Макрофайл для тестированияcomp -include $DSNsrcregister.vcomp -include $DSNsrcfsm.vcomp -include $DSNsrcseq_adder.vcomp -i...
Результаты тестированияпоследовательного сумматора            TIME       A           B          SUM      Sum_etalon    ERR...
Имплементация. Размер проекта Размер проекта 270 эквивалентных  вентилей. Использует 15 триггеров и 15  блоков LUT.  Logi...
ИмплементацияОценка временных параметров.121.02.2011   д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail:   40                  ...
ИмплементацияОценка временных параметров. 221.02.2011   д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail:   41                 ...
ИмплементацияОценка временных параметров. 3                         1,6 ns                                        0,6 ns  ...
Командный файл для моделированияпосле имплементации comp -include "$DSNsrcseq_adder_timesim.vhd"  comp -include  "$DSNsrc...
Приложение – Макро-язык. AsimКоманда asim - Инициализирует моделирование.   asim [ -help ] [ -file <filename> ] [ -i <iter...
Команда list Открывает окно List и/или добавляет сигналы  к существующему окну.   list [ -collapse ] [ -<radix> ][ -width...
Команда waveКоманда добавляет указанные сигналы в окно Wave.  wave [-<radix>] [ -<format> ] [ -height <pixels> ]      [ -c...
Команда run Выполняет моделирование. Синтаксис: run [ <time_step> | @<time> | -all | -next ] Аргументы: <time_step> –...
Upcoming SlideShare
Loading in …5
×

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

913 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
913
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. 6. Пример проектирования арифметического устройства Автоматизация проектирования компьютерных систем д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ21.02.2011 e-mail: hahanova@mail.ru 1
  2. 2. Цель лекции и содержание Цель ознакомление с проектами, которые вынесены на лабораторные занятия План  Беззнаковое умножение  Знаковое умножение  Быстрое знаковое умножение  Беззнаковое деление  Знаковое деление  Реализация арифметических устройств, на примере последовательного сумматора 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 2 hahanova@mail.ru
  3. 3. Двоичное умножение• Двоичное умножение требует только операций сложения и сдвига. В качестве примера выполняется умножение двоичных чисел: 1310x1110. Множимое 1101 (13) Множитель 1011 (11) 1101 1101 Частичные произведения } 100111 0000 100111 1101 10001111 (143) 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 3 hahanova@mail.ru
  4. 4. Схема устройства двоичного умножения Произведение Load 8 7 6 5 4 3 2 1 0 C Sh ACC Ad O N Clk T Множитель R 4-битный Done Cm сумматор O L St M МножимоеСуммирование каждого частичного произведения выполняется сразу послеего формирования, таким образом, в один момент времени складываетсяне более двух двоичных чисел. 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 4 hahanova@mail.ru
  5. 5. Выполнение умноженияпервоначальное содержание регистра произведения 000001011 M(11)(сложение с множимым, так как М=1) 1101 (13)после сложения 011011011после сдвига 001101101 M(сложение с множимым, так как М=1) 1101после сложения 100111101после сдвига 010011110 M(пропуск операции сложения, так как М=0)после сдвига 001001111 M(сложение с множимым, так как М=1) 1101после сложения 100011111после сдвига(окончательный результат) 010001111 (143) Линия, разделяющая произведение и множимое 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 5 hahanova@mail.ru
  6. 6. Граф управляющего автомата устройства умножения St S10 S0 S9 Done 0 St Sh S8 Ad M M M M S2 S7 Ad Sh S6 M S3 Ad M Sh M S5 S4 M Sh Ad21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 6 hahanova@mail.ru
  7. 7. Управляющий блок со счетчикомСхема управления умножением St Done Схема Load M сложение- Ad сдвиг Sh St S0 St 0 M K KM M Счетчик S5 K S3 Done S2 Sh K Ad M S4 KM Sh 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 7 hahanova@mail.ru
  8. 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) отрицательного произведения 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 8 hahanova@mail.ru
  9. 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) с дополнительным кодом множимого 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 9 hahanova@mail.ru
  10. 10. Схема устройства умножения вдополнительном коде Произведение Load 8 7 6 5 4 3 2 1 0 Sh C Ad O N Clk T Множитель R 5-битный полный O Done сумматор Cm Cm L St Cm Формирователь обратного кода M Множимое 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 10 hahanova@mail.ru
  11. 11. Граф состояний для умножения вдополнительном коде St S10 S0 Done 0 St S8 S9 CmAd 0 M M M M S2 S7 Ad Sh S6 M S3 Ad M Sh M S5 S4 M Sh Ad21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 11 hahanova@mail.ru
  12. 12. Структурная схема быстрого устройстваумножения Произведение B Load Sh C AdSh O N T Cm R Done Cm O St L Cm Формирователь обратного кода M Множимое21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 12 hahanova@mail.ru
  13. 13. Граф состояний управляющего автомата длябыстрого устройства умножения St S10 S0 Done 0 St M M S9 S2 Sh Sh M M M M M S6 M S4 M Sh Sh M M M M M 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 13 hahanova@mail.ru
  14. 14. Деление двоичных чисел 1010 частное делитель 1101 10000111 делимое 1101 0111 (135 13 = 10 0000 остаток 5) 1111 1101 0101 0000 0101 остаток21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 14 hahanova@mail.ru
  15. 15. Устройство двоичного деления Регистр частного Sh ShX8 X7 X6 X5 X4 X3 X2 X1 X0 Ld Su St(Старт-сигнал)Устройство вычитания C V и сравнения Control (переполнение)0 Y3 Y2 Y1 Y0 Clock 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 15 hahanova@mail.ru
  16. 16. Условие переполнения X8X7X6X5X4 Y3Y2Y1Y0 – левые пять битов регистра делимого больше или равны делителю, частное будет больше 15 и возникнет переполнение. Обратите внимание: если X8X7X6X5X4 Y3Y2Y1Y0 , частное будетX 8 X 7 X 6 X 5 X 4 X 3 X 2 X 1 X 0 X 8 X 7 X 6 X 5 X 4 0000 X 8 X 7 X 6 X 5 X 4 X 3  16    16 Y3Y2Y1Y0 Y3Y2Y1Y0 Y3Y2Y1Y0 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 16 hahanova@mail.ru
  17. 17. Граф состояний для управляющейсхемы устройства деления St St S0 S2 C Stop C Sh C/V C S3 Su S10 S4 0 Sh C C S5 S9 C Su Su S7 C S6 C Sh Sh C S8 Su 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 17 hahanova@mail.ru
  18. 18. Структурная схема устройства делениязнаковых чисел DBus (Шина данных) 16 16 Делимое Ldu Acc (Остаток) Q (Частное) Cm1 16 16 Sh Ldl C Ena St Cout Cin Cm2 Управл. K схема 16 V Cm2 16 S Lds Ldd Делитель Знак Co1Ldd 1621.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 18 hahanova@mail.ru
  19. 19. Описание сигналов схемы устройства деления знаковых чисел Ldu – загрузка с шины старшей половины делимого; Ldl – загрузка с шины младшей половины делимого; Lds – загрузка знака делимого в знаковый триггер; S – знак делимого; Cm1 – дополнение регистра делимого (дополнительный код); Ldd – загрузка с шины делимого; Su – подключение выхода сумматора к шине (Ena) и загрузка верхней половины делимого из шины; Cm2 – разрешение преобразования в обратный код (Cm2 подключен к знаковому биту делимого таким образом, что положительное число преобразуется в дополнительный код, а отрицательное – нет); Sh – сдвиг регистра делимого влево на 1 разряд и увеличение счетчика на 1; C – выход переноса сумматора (если С=1, делитель можно вычесть из верхней части делимого); St – старт; V – переполнение; Qneg – частное будет отрицательным (Qneg = 1, когда знаки делимого и делителя различны). 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 19 hahanova@mail.ru
  20. 20. Граф управляющей схемыдля деления знаковых чисел St S0 St S2 Rdy Ldl S S S4 S10 S3 Co1Ldd V Ldd S9 CQneg C Co1 CQneg S5 S7 KC Sh Sh KC C KQneg C C S6 Sh S8 KQneg Su K21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 20 hahanova@mail.ru
  21. 21. Проектирование арифметического устройства на примере последовательного сумматора21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 21 hahanova@mail.ru
  22. 22. Структурно-функциональная схема последовательного сумматора Аккумулятор SI x3 x2 x1 x0 xi sumi N(Старт-сигнал) Sh Load Full Управл. Sh SI Sh y3 y2 y1 y0 yi Adder схема Load Load ci ci+1 Регистр слагаемого Clock Последовательный N Q R D сумматор Q CK N S0 0 N ShS5 S1Sh N Load ClockS4 S2Sh Sh 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 22 S3 hahanova@mail.ru Sh
  23. 23. Функционирование последовательногосумматора X Y ci sumi ci+1 t0 0101 0111 0 0 1 t1 0010 1011 1 0 1 t2 0001 1101 1 1 1 t3 1000 1110 1 1 0 t4 1100 0111 0 (1) (0)21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 23 hahanova@mail.ru
  24. 24. Проектирование управляющего автомата N S0 N Текущее Следующее состояние Значение выхода N 0 состояние N=0 N=1 Sh LoadS5 S1 S0 S0 S1 0 0Sh N Load S1 S2 S2 0 1 S2 S3 S3 1 0S4 S2 S3 S4 S4 1 0Sh Sh S4 S5 S5 1 0 S3 S5 S0 S1 1 0 Sh 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 24 hahanova@mail.ru
  25. 25. Verilog-модель управляющего автомата.1module FSM (input Clk, Reset, N, output Sh, Load);/* Определение меток состояний*/ parameter S0=3b000; parameter S1=3b001; parameter S2=3b010; parameter S3=3b011; parameter S4=3b100; parameter S5=3b101; 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 25 hahanova@mail.ru
  26. 26. Verilog-модель управляющего автомата.2reg [2:0] state, next_state; /* Регистр состояний автомата*/always @(posedge Clk, posedge Reset) if (Reset) state <= S0; else state <= next_state; 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 26 hahanova@mail.ru
  27. 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 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 27 hahanova@mail.ru
  28. 28. Verilog-модель управляющего автомата 4// Функции выходовassign Sh = (state==S2) ||(state==S3)|| (state==S4) || (state==S5) ? 1b1 : 1b0;assign Load = (state==S1) ? 1b1 : 1b0;endmodule 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 28 hahanova@mail.ru
  29. 29. Кодирование состояний автомата при синтезе схемы work.FSM(verilog)-state_h.state[5:0] original code -> new code 000 -> 000001 001 -> 000010 010 -> 000100 011 -> 001000 100 -> 010000 101 -> 100000 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 29 hahanova@mail.ru
  30. 30. Verilog-модель регистраmodule register (input Clk, Load, Sh, SI, input [3:0] D; output reg [3:0] Q); always @(negedge Clk) D Reg Q if (Sh) 4 4 SI Q <= {SI, Q[3:1]}; Load else if (Load) Sh Q<=D; Clk endmodule 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 30 hahanova@mail.ru
  31. 31. Verilog-модель последовательного сумматора.1module 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)); 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 31 hahanova@mail.ru
  32. 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 <=1b0; else if (Sh) Cin<=Cout; assign result={Cin,Xin};endmodule 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 32 hahanova@mail.ru
  33. 33. TestBench для последовательного сумматора 1module 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)); 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 33 hahanova@mail.ru
  34. 34. TestBench для последовательного сумматора 2initial begin X_test [0] = 4b0000; X_test [1] = 4b0001; X_test [2] = 4b1000; X_test [3] = 4b1111; X_test [4] = 4b1010; X_test [5] = 4b0101; Y_test [0] = 4b0000; Y_test [1] = 4b0001; Y_test [2] = 4b1000; Y_test [3] = 4b1111; Y_test [4] = 4b1010; Y_test [5] = 4b0101; endinitial begin // генератор синхросигнала clk=1b0; reset=1b1; #5 reset<=1b0; forever #(period/2) clk=~clk; end 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 34 hahanova@mail.ru
  35. 35. TestBench для последовательного сумматора 3 integer i, j; reg [3:0]A,B; reg [4:0] SUM, Sum_etalon;always for (i=0; i<=5; i=i+1) begin X = X_test[i]; for (j=0; j<=5; j=j+1) begin N = 1b1; Y = Y_test[j]; N = repeat (2) @(negedge clk) 1b0; //чтение результатов операции #(5*period) A=X; B=Y; SUM=result; Sum_etalon={1b0,X} + Y; endend 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 35 hahanova@mail.ru
  36. 36. TestBench для последовательного сумматора 4 assign ERROR = (SUM!=Sum_etalon)? 1b1: 1b0; initial $monitor ($realtime, "ps %h %h %h %h %h %h ", N,clk,reset,X,Y,result);endmodule 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 36 hahanova@mail.ru
  37. 37. Макрофайл для тестированияcomp -include $DSNsrcregister.vcomp -include $DSNsrcfsm.vcomp -include $DSNsrcseq_adder.vcomp -include "$DSNsrcTestBenchseq_adder_TB.v"asim seq_adder_tbclose –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 ns21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 37 hahanova@mail.ru
  38. 38. Результаты тестированияпоследовательного сумматора TIME A B SUM Sum_etalon ERROR 0.000 ? ? ? ? 0 140.000 ns 0 0 0 0 0 280.000 ns 0 1 1 1 0 420.000 ns 0 8 8 8 0 560.000 ns 0 15 15 15 0 700.000 ns 0 10 10 10 0 840.000 ns 0 5 5 5 0 980.000 ns 1 0 1 1 0 1.120 us 1 1 2 2 0 1.260 us 1 8 9 9 0 1.400 us 1 15 16 16 0 1.540 us 1 10 11 11 0 1.680 us 1 5 6 6 0 1.820 us 8 0 8 8 0 1.960 us 8 1 9 9 0 2.100 us 8 8 16 16 0 2.240 us 8 15 23 23 0 2.380 us 8 10 18 18 021.02.20112.520 us д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 38 8 5 13 13 0 hahanova@mail.ru 2.660 us 15 0 15 15 0
  39. 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 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 39 hahanova@mail.ru
  40. 40. ИмплементацияОценка временных параметров.121.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 40 hahanova@mail.ru
  41. 41. ИмплементацияОценка временных параметров. 221.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 41 hahanova@mail.ru
  42. 42. ИмплементацияОценка временных параметров. 3 1,6 ns 0,6 ns N clk 10,3 ns result[0]21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 42 hahanova@mail.ru
  43. 43. Командный файл для моделированияпосле имплементации comp -include "$DSNsrcseq_adder_timesim.vhd" comp -include "$DSNsrcTestBenchseq_adder_TB.v" asim seq_adder_tb -sdftyp /UUT=$DSNSRCseq_adder_timesim.sdf close -list wave wave -noreg N clk reset X Y SUM wave UUT/U1/sh UUT/U1/load UUT/U1/state list -collapse -dec A B Sum Sum_etalon ERROR run 5000 ns 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 43 hahanova@mail.ru
  44. 44. Приложение – Макро-язык. AsimКоманда asim - Инициализирует моделирование. asim [ -help ] [ -file <filename> ] [ -i <iteration_limit> ] <configuration> | <entity> [ <architecture> ]Аргументы: -help – вывод короткого описания синтаксиса команды; -file <filename> – описывает необязательный командный файл, содержащий аргументы для команды asim. Эти аргументы можно использовать вместо того, чтобы непосредственно вводить их в команде; -i <iteration_limit> – устанавливает максимальное число дельта- итераций, которые могут быть выполнены в одно и то же время моделирования. Это позволяет избежать бесконечных циклов; <configuration> – задает имя конфигурации верхнего уровня для моделирования; <entity> – имя интерфейса верхнего уровня для моделирования; <architecture> – имя архитектуры для моделирования. Если имя не указано, будет использована последняя откомпилированная архитектура для данного интерфейса. Этот аргумент может использоваться только с интерфейсом. 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 44 hahanova@mail.ru
  45. 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. 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 45 hahanova@mail.ru
  46. 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> – имя сигнала. 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 46 hahanova@mail.ru
  47. 47. Команда run Выполняет моделирование. Синтаксис: run [ <time_step> | @<time> | -all | -next ] Аргументы: <time_step> – промежуток времени для моделирования; @<time> – абсолютное время, до которого будет осуществляться моделирование; -all – выполняются все возможные шаги моделирования, пока не будет обработано последнее событие из очередей драйверов; -next – выполнение до следующей записи в очередь драйвера. 21.02.2011 д.т.н. Хаханова И.В, каф.АПВТ, ХНУРЭ e-mail: 47 hahanova@mail.ru

×