Курсовая работа: Разработка средства функционального диагностирования вычислительных устройств
· L = n – k – Количество разрядов в усеченном результате.
· as1 = (n/4 +n % 2) – Количество сумматоров в первом ряду.
· as2 = as1 + L – Количество сумматоров во втором ряду.
· as3 = (as2+as2% 2) /2 – Количество сумматоров в третьем ряду.
· as4 = (as3+as3% 2) /2 – Количество сумматоров в четвертом ряду.
Блоки 10,6 определяет данные последнего столбца элементоа первого ряда табл. 1.
В блоках 7 – 9 задан цикл по столбцам, начиная со второго и заканчивая последним столбцом. В цикле определяют данные последних двух строк таблицы. Номер выхода в строке увеличивается на 2 для каждого последующего столбца.
В блоках 11 – 15 заданы циклы по строкам 1: 4 и по столбцам 1: as1. В цикле определяются входы сумматоров по модулю три, определяющих вычисляемые контрольные коды.
Блок 16,17 определяет данные первого столбца элементоа первого ряда табл. 1.
Блок 18,19,23 – подпрограмма заполняющая массив х. В подпрограмму передаем следующие параметры imin, imax, iinc, jmin, jmax, jinc,
В блоке 20–22, задаются номера входов разрядов контрольного кода КА16 {1,2}, а также номер выхода первого в таблице сумматора по модулю три, который подается на вход следующего сумматора.
В блоке 27–29, задаются номера входов разрядов контрольного кода КА12 {1,2}, а также номер выхода первого в таблице сумматора по модулю три, который подается на вход следующего сумматора.
В блоке 24–26, заполним столбцы таблицы, первый столбец в четвертом ряду
В блоке 30, задаются номера входов разрядов контрольного кода КА32 {1,2}, а также номер выхода первого в таблице сумматора по модулю три, который подается на вход следующего сумматора.
Блок 31 вычитаем из свернутого операнда А его ККА, получаем признак корректности результата.
В блоке 32 производится вывод данных.
Алгоритм, описывающий табл. 2., представлен в приложении 3.
Блок 2 описывает ввод данных:
· n – разрядность МКП;
· k – количество отбрасываемых разрядов.
В блоке 3 представлены ключевые данные:
· d1 = (n-k)* 2 – первое значение в таблице 1;
· d2 = 8*n – 5*k -3 – номер выхода первого сумматора в таблице. 2.
· d3 = n – k – 3 – количество столбцов в таблице 2.
· as1 = n/4–2 – Количество сумматоров в первом ряду.
· Tail, head – переменые(указатели) хранят номер опорного и «заполняемого» элемента
Блоки 56,62 определяют данные первого столбца таблицы 2.
В блоках 63 – 65 задан цикл по столбцам, начиная со второго и заканчивая последним столбцом. В цикле определяют данные последних двух строк таблицы, а также первых двух строк. Номер выхода в строке увеличивается на 2 для каждого последующего столбца.
В блоках 57 – 61 заданы циклы по строкам 1: 4 и по столбцам 1: as1. В цикле определяются входы сумматоров по модулю три, определяющих вычисляемые контрольные коды.