В проекте для DE1 ALTERA/INTEL FPGA University Program есть пример использования SRAM.
Скачать здесь.
Мне удалось сократить цикл SRAM на 1 такт что увеличило быстродействие на 10%.
ОЗУ нарастил до 0-157776, прикрутил управление пультовой ром от 177716[3]
Состояние 177716[3] выведено на светодиод.Код:assign mx_stb[3] = (wb_stb & wb_cyc & (wb_adr[15:13] == 3'b111)&(~io_page)&(r177716[3])) //pult_rom********** |(wb_stb & wb_cyc & (wb_adr[15:6] == 10'o1776));
В результате SPEED не виснет, но есть интересный эффект.
После запуска RT11 светодиод горит постоянно.
- - - Добавлено - - -Код:==================== Протокол начат: 27/01/2018 21:38:40 ===================== @ @ @177716/160000 @T2 ТЕСТ 2 ПАМЯТЬ 020000 -157776 ПАМЯТЬ 000600 -017776 024164 @100/000400 102 000102/000000 2 @10000/000000 12701 010002/000000 177560 010004/000000 12702 010006/000000 177564 010010/000000 10100 010012/000000 5003 010014/000000 77301 010016/000000 5212 010020/000000 105712 010022/000000 100376 010024/000000 6300 010026/000000 1005 010030/000000 5012 010032/000000 12700 010034/000000 4 010036/000000 5761 010040/000000 2 010042/000000 42700 010044/000000 20 010046/000000 10062 010050/000000 2 010052/000000 1362 010054/000000 105711 010056/000000 100376 010060/000000 116123 010062/000000 2 010064/000000 22703 010066/000000 1000 010070/000000 101371 010072/000000 23727 010074/000000 140 010076/000000 67503 010100/000000 1006 010102/000000 12737 010104/000000 60527 010106/000000 140 010110/000000 12737 010112/000000 66562 010114/000000 142 010116/000000 5003 010120/000000 5023 010122/000000 113 @5000/000000 73 005002/000000 74316 005004/000000 43556 @10000G HX 2.2 RT-11 Warm boot.. HX DSK/TTY multiplexer v3.3 2016 SL V08.00 [SW] Сторожевых С.В. 1988 RT-11SJ (Y) V05.04 G .SE USR NOSWAP .SE EXIT NOSWAP .SE TT SCOPE .LO SL .SE SL ON .DAY Время Дата 21:39:14 27-Янв-2018, Суббота .MEMORY low high 0 177410 177560 177570 177600 177720 .SPEED ТЕСТ БЫСТРОДЕЙСТВИЯ КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 11568 КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 5344 .SH ALL RT-11SJ (Y) V05.04 G Booted from HX0:RT11SJ USR is set NOSWAP EXIT is set NOSWAP KMON is set NOIND TT is set NOQUIET ERROR is set ERROR SL is set ON EDIT is set KED KMON nesting depth is 3 LSI 11 or PDP 11/03 Processor 56KB of memory Extended Instruction Set (EIS) Extended Arithmetic Element (EAE) Parity Memory ECC Memory VT48 Graphics Display Hardware 50 Cycle System Clock No SYSGEN options enabled Device Status CSR Vector(s) ------ ------ --- --------- HX Resident 177560 000 TT Installed 000000 000 SL 141104 000000 000 EM Installed 000000 010 LD Installed 000000 000 TT HX (Resident) HX0 = DK , SY SL (Loaded) EM LD 17 free slots Job Name Console Level State Low High Impure --- ---- ------- ----- ----- --- ---- ------ 0 RESORC 0 0 Run 000000 141032 N/A No multi-terminal support Address Module Words ------- ------ ----- 160000 IOPAGE 4096. 156242 HX 431. 145414 RMON 2251. 141076 SL 1127. 131032 USR 2066. 001000 ..BG.. 22541. No LD units mounted .ODT ODT V05.08 *177716/160010 *^C . ================== Протокол остановлен: 27/01/2018 21:40:46 ==================
Временные диаграммы SRAM
При чтении данные на выходе удерживаются до 7 нс после деактивации OE/CE
При записи допускается одновременное снятие данных и WE.
- - - Добавлено - - -
RTL
Модуль SPI для чтения SPI чипов типа 25f512 и подобных.
регистр команд 177400:
177400[15] выбор чипа CS
177400[7] 1 идет передача
регистр данных 177402:
по записи - передаваемое слово
по чтению - принятое слово
передача запускается обращением по записи к рег данных
пример программы:
Код:1 .asect 2 001000 .=1000 3 001000 012700 000100 mov #10,r0 ; число слов 8+2 4 001004 012701 001400 mov #1400,r1 ; команда 03h 5 001010 012702 010000 mov #7774,r2 ; загрузка с 10000 адреса 6 001014 052737 100000 177400 bis #100000,@#177400 ; выбор чипа 7 8 001022 000240 st: nop 9 001024 010137 177402 mov r1, @#177402 ; передаем команду 10 001030 032737 000200 177400 $1: bit #200,@#177400 ; 11 001036 001374 bne $1 ; ждем конца передачи 12 001040 013712 177402 mov @#177402,(r2) ; сохраняем в рам 13 001044 000322 swab (r2)+ ; ? 14 001046 005001 clr r1 ; теперь здесь адрес 15 001050 077014 sob r0, st ; повторяем 16 001052 042737 100000 177400 bic #100000,@#177400 ; снимаем выбор чипа 17 001060 000000 haltКод:module r177400 ( input sys_init, input wb_clk_i, input [15:0] wb_adr_i, input [15:0] wb_dat_i, output [15:0] wb_dat_o, input wb_cyc_i, input wb_we_i, input [1:0] wb_sel_i, input wb_stb_i, output wb_ack_o, output [15:0] test0, output [15:0] test2, //----------------------------------- output reg spi_clk_m, output reg spi_dout_m, output spi_cs_m, input spi_din_m, output k ); reg start; wire [1:0] ena; reg [1:0]ack; reg [3:0] bit_cnt; reg [15:0] vm_reg0, vm_reg2, vm_reg4, vm_reg6; reg [2:0] state; reg [15:0] rx; assign spi_cs_m = ~vm_reg0[15]; assign k = ~vm_reg0[7]; assign test0 = vm_reg0[15:0]; assign test2 = vm_reg2[15:0]; assign wb_dat_o = (((wb_adr_i[2:1])==2'b00)? vm_reg0 :16'h0000) // |(((wb_adr_i[2:1])==2'b01)? vm_reg2 :16'h0000) //vm_reg2 |(((wb_adr_i[2:1])==2'b01)? rx :16'h0000) |(((wb_adr_i[2:1])==2'b10)? vm_reg4 :16'h0000) |(((wb_adr_i[2:1])==2'b11)? vm_reg6 :16'h0000); //---------------------------------------------------------------------- parameter S0 = 0, S1 = 1, S2 = 2, S3 = 3; reg [3:0] dl; always @ (posedge wb_clk_i ) begin dl <= dl+1'b1; if (sys_init) begin vm_reg2 <= 16'o000000; vm_reg0 <= 16'o000000; vm_reg0[7]<=1'b0; state <= S0; end if (wb_stb_i & wb_we_i & (wb_adr_i[2:1])==2'b00) vm_reg0[15] <= wb_dat_i[15]; if (wb_stb_i & wb_we_i & (wb_adr_i[2:1])==2'b01) begin vm_reg0[7] <= 1'b1; start <= 1'b1; if (wb_stb_i & wb_we_i & (wb_adr_i[2:1])==2'b01) vm_reg2 <= wb_dat_i; end if (dl==4'h0) begin case (state) S0: begin if (start==1'b1) begin state <= S1; bit_cnt <= 4'b1111;end else state <= S0; end S1: begin state <= S2; bit_cnt <= bit_cnt - 1'b1; spi_clk_m <= 1'b1; end S2: begin if (bit_cnt==4'b1111) state <= S3; else state <= S1; spi_clk_m <= 1'b0; end S3: begin state <= S0; start <= 1'b0; vm_reg0[7] <= 1'b0;end endcase end end always @ (negedge wb_clk_i ) if (dl==4'h0) begin spi_dout_m = vm_reg2[bit_cnt]; end always @ (posedge spi_clk_m) if (dl==4'h0) begin rx [15:0] <= { rx[14:0],spi_din_m}; end //------------------------------------------------------------------------- assign ena = wb_we_i ? wb_sel_i : 2'b11; assign wb_ack_o = wb_cyc_i & wb_stb_i & (ack[1] | wb_we_i); always @ (posedge wb_clk_i) begin ack[0] <= wb_cyc_i & wb_stb_i; ack[1] <= wb_cyc_i & ack[0]; end endmodule
Последний раз редактировалось A074MO; 07.02.2018 в 21:58.
А может ли кто-нибудь подсказать про ВМ2 серии 1806?
Интересует разгонябельный ли он и что будет с процессором если его некоторое время подержать на сильно завышенной частоте..
Нет, при +5.00 в.
Однако, топнормы имеют электрограницу переходов +6.00 вольт, что дает возможность добавить по крайней мере 20% частоты при питании +6.00 в.
Проводил опыты над кристаллом ОСМ 1991 г. +5.00 в.:
1. Максимальная долговременная работа под RT-11 - 6.00 мгц.
2. Пуск ( загрузка ) RT-11 , работа 1 мин - 7 мгц.
3. Отсуствие нормального пуска, периодические трап то 4, трап то 10 - 8 мгц.
При этом сам камень был не теплее +10 градусов относительно воздуха.
ИМХО - 1806ВМ2 ----> М1801ВМ1А + 10% по частоте.
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]
MM, А вот есть такой компьютер Союз-Неон ПК-11/16, в котором (по паспорту) Н1806ВМ2 на 8 Мгц. Питание 5 вольт. Это тогда как?
Последний раз редактировалось dk_spb; 20.03.2018 в 14:51.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Если это именно так - "продукт кооператива", т.е. самопальное *****.
- - - Добавлено - - -
Сейчас обсудил это с ветераном , работавшим в 1980-х на А. цеховым технологом, с его слов ворота на ПМК были ( при +20 градусов ) :
+4.50 в. - 6 мгц
+4.00 в. - 4 мгц
+6.00 в. - 7 мгц.
Тест длился 0.5 сек.
При термоциклах для "ОС" могли применяться др. ворота.
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]
Вопрос не про субъективное мнение об поделии. Тем более что я как-то не припомню положительных характеристик разработкам Зеленограда из Ваших уст ;-)
Может Вы и правы, речь сейчас не об этом. Речь про два вопроса: гонится или нет, и тут пока две версии: на 8 работает и (Ваша) не гонится совсем. И второй вопрос: если на н1806вм2 дать минут на 5-10 тактовую 25Мгц - как он это переживет, не решит ли что его ласты срочно требуют клея?
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]
MM, Спасибо! Попробую к VMP поприставать.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)