Проектирование стандартных элементов цифровых интегральных схем

Содержание

Слайд 2

Литература

«Выполнение междисциплинарного задания в цепочке дисциплин «Языки описания цифровых схем и систем»,

Литература «Выполнение междисциплинарного задания в цепочке дисциплин «Языки описания цифровых схем и
«Лингвистические средства САПР», «Автоматизация функционально-логического проектирования БИС»
Авторы: Попова Т.В., Гусев С.В., Ильин С.А (под ред. Поповой Т.В.)

Слайд 3

Алфавит. Представление чисел.

0 – логический ноль;
1 – логическая единица;
Z – высокий импеданс;
X

Алфавит. Представление чисел. 0 – логический ноль; 1 – логическая единица; Z
– неопределенность (0 или 1)

Слайд 4

Алфавит. Представление чисел.

Бинарное (b)
Восьмеричное (o)
Десятичное (d)
Шестнадцатеричное (h)

Разрядность


Система
исчисления

Значение

Алфавит. Представление чисел. Бинарное (b) Восьмеричное (o) Десятичное (d) Шестнадцатеричное (h) Разрядность ‘ Система исчисления Значение

Слайд 5

Запись чисел

15’h7a50 – шестнадцатеричное пятнадцатиразрядное число
8’b01101100 – бинарное восьмиразрядное число
8’b0110_1100 –

Запись чисел 15’h7a50 – шестнадцатеричное пятнадцатиразрядное число 8’b01101100 – бинарное восьмиразрядное число
бинарное восьмиразрядное число

Слайд 6

Запись чисел

Пример:
8’o377 – восьмеричное восьмиразрядное число
16’d7110 – десятичное шестнадцатиразрядное число
7110 –

Запись чисел Пример: 8’o377 – восьмеричное восьмиразрядное число 16’d7110 – десятичное шестнадцатиразрядное
десятичное число

Слайд 7

Операторы

& – логическое умножение (AND)
| – логическое сложение (OR)
/ – арифметическое деление
* – арифметическое умножение
+ – арифметическое

Операторы & – логическое умножение (AND) | – логическое сложение (OR) /
сложение
~ – инверсия (NOT)
! – инверсия (NOT)
^ – сложение по модулю 2 (XOR)

Слайд 8

Структура модуля

module <имя> (<список портов>);
input <список входов>;
output <список выходов>;
inout <список

Структура модуля module ( ); input ; output ; inout ; endmodule
двунаправленных портов>;
< операторы>
< операторы>
< операторы>
endmodule

Слайд 9

Структура модуля

module nand2 (x,a,b);
output x;
input a, b;
assign x=!(a&b);
endmodule

Структура модуля module nand2 (x,a,b); output x; input a, b; assign x=!(a&b); endmodule

Слайд 10

Переменные wire

Значение переменной меняется сразу же после изменения какого- либо аргумента.
Используется

Переменные wire Значение переменной меняется сразу же после изменения какого- либо аргумента.
для описания комбинационной логики.

Слайд 11

Переменные wire

Используется только в составе конструкции “assign”.
wire a, b, c;
assign c =

Переменные wire Используется только в составе конструкции “assign”. wire a, b, c;
!(a & b );

Слайд 12

Переменные reg

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

Переменные reg Присвоение нового значения переменной происходит после выполнения указанных условий. Используется
описания как комбинационной логики так и последовательностной логики.

Слайд 13

Переменные reg

Используется в составе конструкции “always”.
Структура конструкции
always @ (<список чувствительности>)
begin
операнд 1;
операнд 2;
…….
операнд

Переменные reg Используется в составе конструкции “always”. Структура конструкции always @ (
n;
end

Слайд 14

Переменные reg

Пример
wire a, b;
reg c;
always @ (a)
c= ~ ( b & a

Переменные reg Пример wire a, b; reg c; always @ (a) c=
);

Слайд 15

Переменные reg

module and ( x, a, b );
input a, b;
output

Переменные reg module and ( x, a, b ); input a, b;
x;
reg x;
always @(a or b)
x = a & b ;
endmodule

Слайд 16

Уровни абстракции

– поведенческий ( behavioral );
– вентильный ( gate );

Уровни абстракции – поведенческий ( behavioral ); – вентильный ( gate );
– уровень регистровых передач
( Register Transmit Level / RTL)

Слайд 17

Behavioral

Уровень представляет систему в виде параллельных алгоритмов.
Каждый алгоритм является последовательным, и

Behavioral Уровень представляет систему в виде параллельных алгоритмов. Каждый алгоритм является последовательным,
представляет собой набор инструкций, выполняющиеся одна за другой.

Слайд 18

Behavioral

module DFF (D, C, R, Q, nQ);
input D,C,R;
output Q, nQ;

Behavioral module DFF (D, C, R, Q, nQ); input D,C,R; output Q,
reg Q;
always @(posedge C or posedge R)
if(R)
Q=1’b0;
else
Q=D;
assign nQ=~Q;
endmodule

Слайд 19

RTL

RTL описание имеет синхросигнал и все события происходят в определенное время.
Сами

RTL RTL описание имеет синхросигнал и все события происходят в определенное время.
элементы используемые в RTL описании, могут иметь behavioral описание

Слайд 20

RTL

module D_REG (D, C, R, Q);
input C, R;
input [7:0] D;

RTL module D_REG (D, C, R, Q); input C, R; input [7:0]
output [7:0] Q;
reg [7:0] Q;
always @(posedge C or posedge R)
if (R)
Q=8’h00;
else
Q=D;
endmodule

Слайд 21

RTL

module SUM (Pi, A, B, S, Po);
input A, B;
input Pi;

RTL module SUM (Pi, A, B, S, Po); input A, B; input
output S;
output Po;
assign S=A^B^Pi;
assign Po=A&B|A&Pi|BΠ
endmodule

Слайд 22

RTL

`include “../SUM.v”
module SUMM (Pi, A, B, S, Po);
input [7:0] A, B;

RTL `include “../SUM.v” module SUMM (Pi, A, B, S, Po); input [7:0]
input Pi;
output [7:0] S;
output Po;
wire [6:0] p;
SUM U0(.Pi(Pi),.A(A[0],.B(B[0]),.S(S[0]), .Po(p[0]));
SUM U1(.Pi(p[0]),.A(A[1]),.B(B[1]),.S(S[1]),.Po(p[1]));
SUM U2(.Pi(p[1]),.A(A[2]),.B(B[2]),.S(S[2]),.Po(p[2]));
SUM U3(.Pi(p[2]),.A(A[3]),.B(B[3]),.S(S[3]),.Po(p[3]));
SUM U4(.Pi(p[3]),.A(A[4]),.B(B[4]),.S(S[4]),.Po(p[4]));
SUM U5(.Pi(p[4]),.A(A[5]),.B(B[5]),.S(S[5]),.Po(p[5]));
SUM U6(.Pi(p[5]),.A(A[6]),.B(B[6]),.S(S[6]),.Po(p[6]));
SUM U7(.Pi(p[6]),.A(A[7]),.B(B[7]),.S(S[7]),.Po(Po));
endmodule

Слайд 23

RTL

`include “../SUMM.v”
`include “../D_REG.v”
module COUNT (C,R,Q);
input C,R;
output [7:0] Q;
wire [7:0]

RTL `include “../SUMM.v” `include “../D_REG.v” module COUNT (C,R,Q); input C,R; output [7:0]
D;
D_REG REG_1 (.D(D), .C(C), .R(R),.Q(Q));
SUMM SUM_1 (.Pi(1’b1),.A(Q),.B(7’h00),.S(D));
endmodule

Слайд 24

Gate-Level

Уровень, описание которого построено на основе логических примитивов, каждый из которых реализует

Gate-Level Уровень, описание которого построено на основе логических примитивов, каждый из которых реализует свою логическую функцию
свою логическую функцию

Слайд 25

Gate-Level. Встроенные примитивы

– buf – функция повторения сигнала
– not – инвертор
– and

Gate-Level. Встроенные примитивы – buf – функция повторения сигнала – not –
– функция логическое умножение
– or – функция логическое сложение
– xor – функция логическое сложение по модулю 2
– nand – функция логическое умножение с инверсией
– nor – функция логическое сложение с инверсией
– xnor – функция логическое сложение по модулю 2 с инверсией

Слайд 26

Gate-Level.

module ELEM (A, B, F);
input A,B;
output F;
wire n1,

Gate-Level. module ELEM (A, B, F); input A,B; output F; wire n1,
n2, n3;
nand (n1, A, B);
nor(n2, n1, A);
xor(n3, n1, B);
not(F, n2, n3);
endmodule

Слайд 27

Gate-Level.

`include “../lib/DFFRX1.v”
module D_REG (D, C, R, Q);
input C,R;
input [7:0]

Gate-Level. `include “../lib/DFFRX1.v” module D_REG (D, C, R, Q); input C,R; input
D;
output [7:0] Q;
DFFRX1 reg_0 (.D(D[0]),.R(R),.C(C),.Q(Q[0]));
DFFRX1 reg_1 (.D(D[1]),.R(R),.C(C),.Q(Q[1]));
DFFRX1 reg_2 (.D(D[2]),.R(R),.C(C),.Q(Q[2]));
DFFRX1 reg_3 (.D(D[3]),.R(R),.C(C),.Q(Q[3]));
DFFRX1 reg_4 (.D(D[4]),.R(R),.C(C),.Q(Q[4]));
DFFRX1 reg_5 (.D(D[5]),.R(R),.C(C),.Q(Q[5]));
DFFRX1 reg_6 (.D(D[6]),.R(R),.C(C),.Q(Q[6]));
DFFRX1 reg_7 (.D(D[7]),.R(R),.C(C),.Q(Q[7]));
endmodule
Имя файла: Проектирование-стандартных-элементов-цифровых-интегральных-схем-.pptx
Количество просмотров: 149
Количество скачиваний: 0