7. Аппаратная реализация алгоритмов (1132254)
Текст из файла
Математические модели и методылогического синтеза СБИСОсень 2015План семинара• Понятие об операционном и управляющемавтоматах• Построение указанных автоматов поописанию алгоритма• Использование элементов памяти• Лабораторная работа – аппаратнаяреализация элементарного алгоритма.Регистрыmodule register#(parameter(output reginputinputWidth = 8)[Width-1:0] out,[Width-1:0] in,clear, load, clock);always @(posedge clock)if (~clear)out <= 0;else if (~load)out <= in;endmoduleОперационный и управляющийавтоматыПример алгоритмаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;}if(x<0) {y = 0;} else {x = 0;}Определение регистровfor(x = 0, i = 0; i <= 10; i++) {x = x + y;}if(x<0) {y = 0;} else {x = 0;}x_loadx_clearRegister xy_loady_clearRegister yi_loadi_clearRegister i• Каждая переменная порождает свой регистр• Возможно, что выбранная реализация требуетдополнительные (служебные) регистры• x_load = 0 – загрузка нового значения в регистр• x_clear = 0 – сброс регистра в значение «0»Построение операционногоавтоматаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;}if(x<0) {y = 0;} else {x = 0;}1Adderi_loadi_clearRegister iПостроение операционногоавтоматаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;}if(x<0) {y = 0;} else {x = 0;}1Adderi_loadi_clearRegister i10CompareLEQiLEQ10Построение операционногоавтоматаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;y_load}y_clearif(x<0) {y = 0;} else {x = 0;}x_loadx_clearRegister y1AdderAdderRegister xi_loadi_clearRegister i10CompareLEQiLEQ10Построение операционногоавтоматаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;y_load}y_clearif(x<0) {y = 0;} else {x = 0;}x_loadx_clearRegister y1AdderAdderRegister xi_loadi_clearRegister i100CompareLTCompareLEQxLT0iLEQ10Построение операционногоавтоматаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;}if(x<0) {y = 0;} else {x = 0;}x_loadx_cleary_loady_cleari_loadi_clearxLT0iLEQ10xОперационныйавтоматyiПостроение управляющегоавтоматаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;}if(x<0) {y = 0;} else {x = 0;}Управляющийавтоматx_loadx_cleary_loady_cleari_loadi_clearxLT0iLEQ10xОперационныйавтоматyiДиаграмма Мура управляющегоавтоматаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;}if(x<0) {y = 0;} else {x = 0;}.
. .x_cleari_clearAДиаграмма Мура управляющегоавтоматаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;}if(x<0) {y = 0;} else {x = 0;}. . .x_cleari_clearAx_loadi_loadBДиаграмма Мура управляющегоавтоматаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;}if(x<0) {y = 0;} else {x = 0;}. . .НетвыводаCx_cleari_clearAx_loadi_loadBДиаграмма Мура управляющегоавтоматаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;}if(x<0) {y = 0;} else {x = 0;}. . .x_clearDx_cleari_clearAx_loadi_loadB~(i<=10)&&~(x<0)y_clear~(i<=10)&&(x<0)Ei<=10НетвыводаCДиаграмма Мура управляющегоавтоматаfor(x = 0, i = 0; i <= 10; i++) {x = x + y;}if(x<0) {y = 0;} else {x = 0;}. . ..
. .x_clearDFx_cleari_clearAx_loadi_loadB~(i<=10)&&~(x<0)y_clear~(i<=10)&&(x<0)Ei<=10НетвыводаCПостроение управляющегоавтомата• Кодирование состоянийA:3’b000B:3’b001C:3’b010D:3’b011E:3’b100F:3’b101Построение управляющегоавтомата• Реализация комбинационной частиalways @ (c_state, xLT0, iLEQ10)case (c_state)3'b000: //State A…3'b001: //State B…3'b010: //State C…3'b011: //State D…3'b100: //State E…3'b101: //State F…default:endcase3'b000: //State Abeginendi_load = 1;i_clear = 0;x_load = 1;x_clear = 0;y_load = 1;y_clear = 1;n_state = 3'b001;Построение управляющегоавтомата• Реализация элементов задержкиalways @ (posedge clock, negedge reset)if (~reset)c_state <= 0;elsen_state <= c_state;УправляющийавтоматСигналы управлениярегистрамиИспользование элементовпамятиДанныеОперационныйавтоматАдресБлок памяти спроизвольнымдоступомФайл инициализации памяти(.MIF)DEPTH= 32;WIDTH= 4;ADDRESS_RADIX= HEX;DATA_RADIX= BIN;CONTENTBEGIN0 : 0000;1 : 0001;2 : 0010;3 : 0011;...1E : 1110;1F : 1111;END;.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.