BigEdu.ru
» » » Устройство преобразования цифровой информации с ее шифрованием
Вернуться назад

Устройство преобразования цифровой информации с ее шифрованием

Аннотация

В рамках предложенной расчетно-графической работы необходимо создать аппаратный узел, выполняющий задачу преобразования цифровой информации с ее шифрованием по определенному алгоритму. Устройство необходимо спроектировать с использованием языка высокоуровневого описания аппаратуры VHDL.


Задание на разработку

В системе имеется два устройства: источник (И) и приемник (П) информации. Необходимо описать устройство являющееся посредником между устройствами И и П (рис. 1). Устройство И имеет две выходные однонаправленные шины данных: 32-х разрядную X и 4-х разрядную n, 8-и разрядную шину адреса Address, два выходных сигнала Write и Read и входной сигнал Ready. Устройство посредник вычисляет функцию

Y (0 : 31) =

f (X (0 : 32))

и по сигналу Write записывает вычисленные данные в ОЗУ по адресу, выставленному на шину адреса источника. По сигналу Read устройство посредник считывает байт по адресу, выставленному на шину адреса, и выдает его в последовательном коде приемнику предварительно пропустив через блок шифрования БШ. Выдача последовательного кода осуществляется, когда на сигнал готовности посредника к передаче Ready, приемник отвечает сигналом готовности приема Ask.

Блок шифрования

r1 = 6 r2 = 0

Функции

Bn cos x

где

∞ 1

Bk = ∑

π2k − 1

p =1 p 2k

(2k )

Блоквычисленияфункции

Блок имеет две входные шины: 32-х разрядную X и 4-х разрядную n и выходную 32- х разрядную шину Y. Считать, что по шине X передается число с плавающей точкой в формате (рис. 3).

В блоке все операции производятся над вещественными типами данных. Для получения вещественных данных организовать функцию, осуществляющую перевод из типа STD_LOGIC_VECTOR в тип REAL, для получения двоичных данных из вещественных организовать функцию, осуществляющую обратный перевод. Аналогично организовать (или воспользоваться готовой, например, из пакета exemplar) функцию для перевода данных 4-х разрядной шины n в целый тип.

Устройство, вычисляет функцию Y = f ( X ) , посредством разложения в ряд с точностью определяемой количеством слагаемых равным значению n. При реализации описания использовать только стандартные арифметические операции "+", "-", "/" и собственную функцию возвращающую квадрат аргумента

rr :=b -1;

result:=mut(a,pwr(a,rr));

end if;

return result; ъ

end pwr;

function toreal (X

:STD_LOGIC_VECTOR(31 downto 0))

return real is

variable result,res1,tt3,tt2,myn: real;

variable res2,tt1: integer;

begin

function toreal (X

:STD_LOGIC_VECTOR(31 downto 0))

return real is

variable result,res1,myn: real;

variable res2: integer;

begin

res1:= real(CONV_INTEGER(X(20 downto 1)));

M1: while res1 >=1.0 loop res1:= res1/10.0;

end loop M1;

if X(0)= '1' then res1:=-res1;

end if;

res2:= CONV_INTEGER(X(31 downto 22));

if X(20)= '1' then res2:=-res2;

end if;

myn := 2.0**res2;

result:= mut(res1,myn) ;

return result;

end toreal;

function fakt (n :real) return real is variable rr : real;

variable result: real;

begin

if n =1.0 then result :=n;

elsif n = 0.0 then result :=0.0;

elsif n < 0.0 then

result := 0.0;

else

rr :=n -1.0;

result:=mut(n,fakt(rr));

end if;

return result;

end fakt;

res1:=0.0;

e1: for i in 20 downto 1 loop tt1 := i;

tt2 := 1.0/(pwr(2.0,tt1));

tt3 :=

mut(real(CONV_INTEGER(X(i))),real(tt2)

);

res1:= res1 + real(tt3);

end loop e1;

if X(0)= '1' then res1:=-res1;

end if;

res2:= CONV_INTEGER(X(31 downto

22));

myn := pwr(2.0,res2);

if X(21)= '1' then myn:=1.0/myn;

end if;

result:= mut(res1,myn) ;

return result;

end toreal;

function BK (X : real ; N : integer )

return real is

variable result, pi: real;

variable k1,k2,k3,k4: real;

begin pi:= 3.14;

for i in 1 to N loop k1 := mut(2.0,x); k2:=pwr(REAL(i),INTEGER(k1));

k3:=1.0/k2; k4:=(pwr(pi,INTEGER(k1))-

1.0)/fakt(k1); result:=k4; end loop;

return result;

end BK;

function MYFUN (X : real ; N : integer

) return real is

variable result, pi: real;

variable k2, k1:integer;

variable RR, l1,l2,l3,g1,g2,g3: real;

begin pi:= 3.14;

result := 0.0;

if abs(x) > (3.14/2) then return result;

end if;

for i in 1 to N loop

K1 := integer(pwr(2.0,i)); K2:= k1 - 1;

L1 := pwr(2.0,k2);

L2 := pwr(2.0,k1); L3 := pwr(x,k1);

G1 := fakt(real(k1));

G2 := mut(REAL(n),g1); Rr := mut(l1,(l2-1.0));

G3 := BK(x,i);

Rr := mut(rr,G3); Rr := mut(rr,l3); result:=rr/g2;

end loop;

return result;

end MYFUN;

function tostd (X1 : real ) return

STD_LOGIC_VECTOR is variable

result:STD_LOGIC_VECTOR ( 31 downto

0)

:="00000000000000000000000000000000"

;

variable X,myn,a,b,c: real; variable pr,w: integer; begin

X :=X1;

pr:=0;

M2: whi

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Рефераты по информатике и программированию Аннотация В рамках предложенной расчетно-графической работы необходимо создать аппаратный узел, выполняющий задачу преобразования цифровой
Оценок: 1005 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru