User Tag List

Страница 6 из 17 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 163

Тема: Радио-86РК: Реализация компьютера на ПЛИС

  1. #51
    Member Аватар для Santechnik
    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Во-о-о-т. А Вы спрашиваете почему надо ВГ75 симулировать. Надо чтобы универсально было. Да и дальше может быть Микроша или Апогей будет.

    svofski, А не подскажешь, пожалуйста: в 8080 для ПЛИС, который ты использовал в Векторе, 2 входа CLK: CLK и CLKEN. Я правильно разобрался, что CLK соответствует Ф2, а CLKEN - Ф1 оригинала?
    Последний раз редактировалось Santechnik; 03.06.2010 в 07:41.

  2. #52
    Guru
    Регистрация
    26.02.2010
    Адрес
    Запорожье
    Сообщений
    2,171
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Santechnik Посмотреть сообщение
    Во-о-о-т. А Вы спрашиваете почему надо ВГ75 симулировать. Надо чтобы универсально было. Да и дальше может быть Микроша или Апогей будет.
    Наша основная задача - чтоб работали программы выводящие данные непоследственно в видео память (это - 99% игрушек) и все, никаких эмулей ВГ75 не надо. Надо только четкое попадание по знакоместам.
    .

  3. #53
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,121
    Спасибо Благодарностей отдано 
    803
    Спасибо Благодарностей получено 
    662
    Поблагодарили
    407 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Santechnik, нет, что ты! Читай срочно, пока не наломал дров:
    http://www.actel.com/documents/Com_RH_AN.pdf
    http://www.alteraforum.com/forum/showthread.php?t=2388

    Вот как этот принцип выглядит в Векторе:
    http://code.google.com/p/vector06cc/...k_Distribution

    Вот здесь рождаются все clock enables:
    http://code.google.com/p/vector06cc/...rc/clockster.v

    CLKEN в T80 -- это clock enable, который позволяет использовать его в любом синхронном дизайне. Там есть асинхронная обертка, которая предназначена для использования софтового t80 в качестве замены реального проца в компьютерах, например. Но внутри полностью FPGA-шного дизайна так делать не надо.
    Больше игр нет

  4. #54
    Member Аватар для Santechnik
    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну чего сразу пугать-то так Я за таймингами стараюсь следить. Благо скорости черепашьи. Но за статьи спасибо! Весьма познавательно.
    Надо мне все же твой Вектор и сам проц поковырять получше. А зачем тогда вообще Ф1 у железного проца была?

  5. #55
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,121
    Спасибо Благодарностей отдано 
    803
    Спасибо Благодарностей получено 
    662
    Поблагодарили
    407 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Таки ведь не в скоростях дело. В FPGA ты практически не можешь контролировать пути распространения сигналов и гонки возникают произвольным образом. Глич и есть глич, не принципиально как он возникает -- один, или 10 миллионов раз в секунду.

    Ф1 у железного проца наверное была для решения каких-то схемотехнических проблем. Допустим по Ф0 выставляется микрокоманда datapath-у, по Ф1 datapath пропихивает данные. Чем больше фаз и чем больше фронтов используется, тем больше всего можно сделать за один такт.
    Больше игр нет

  6. #56
    Junior
    Регистрация
    22.04.2010
    Адрес
    Лабинск
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Rokl Посмотреть сообщение
    Для этого нужно было сам "монитор"исправить. В стандартном варианте ВГ75 запрограммировать на артибуты было нельзя,т.к. все данные от 80h,до 0FFh на ВГ75 не проходили.
    Что-то вы путаете. Перепрограммировать любой контроллер можно в любой момент. Причём здесь монитор? Другое дело, что возможна потеря совместимости со стандартными подпрограммами монитора, но в таком случае их функции берет на себя программа, перепрограммирующая контроллер.

  7. #57
    Master
    Регистрация
    28.05.2010
    Адрес
    г. Москва
    Сообщений
    508
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svl Посмотреть сообщение
    Перепрограммировать любой контроллер можно в любой момент. Причём здесь монитор? Другое дело, что возможна потеря совместимости со стандартными подпрограммами монитора, но в таком случае их функции берет на себя программа, перепрограммирующая контроллер.
    Да, вместо того, что бы в мониторе изменить всего один байт, нужно писать процедуры перепрограммирования контроллера ВГ75, и замену стандартных подпрограмм монитора...тоже вариант.

  8. #58
    Junior
    Регистрация
    22.04.2010
    Адрес
    Лабинск
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Rokl Посмотреть сообщение
    Да, вместо того, что бы в мониторе изменить всего один байт, нужно писать процедуры перепрограммирования контроллера ВГ75, и замену стандартных подпрограмм монитора...тоже вариант.
    Думаю, эта защита от ошибочного перепрограммирования ВГ75 в результате передачи на отображение байта более 7F не просто так сделана. И какие там особые процедуры писать надо? Это же не перевод в защищенный режим PC. Разницы в объёме кода при программировании через F809 (допустим такую возможность) и через непосредственную запись портов практически никакой, зато имеем существенный выигрыш в скорости из-за тормознутости F809. А стандартные подпрограммы могут потерять совместимость независимо от способа перепрограммирования.
    Да и вроде бы изначально заявлялось о принципиальной невозможности программирования ВГ75 без правки монитора.

  9. #59
    Member Аватар для Santechnik
    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итак, проект движется. Контроллер ВГ75 был мной разбит на 2 части - DMA + внешнее управление и вывод символов и синхры. Первый блок готов и в тестовой среде работает в соответствии с datasheet. Второй блок тоже написан, но отладить я его не успел, т.к. в процессе отладки стала появляться такая внутренняя ошибка Quartus:
    Код:
    Internal Error: Sub-system: ASMCC, File: /quartus/comp/asmcc/asmcc_bitfield.cpp, Line: 855
    Assembler bitfield error: Found conflicting assignments for CRAM address; address = 1835112
    Quartus II Version 9.1 Build 350 03/24/2010 SJ Web Edition
    Service Pack Installed:  2
    Что это может быть?

  10. #60
    Member Аватар для Santechnik
    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ладно. С той ошибкой разобрался переписав половину кода
    Теперь такой вопрос к уважаемым знатокам Verilog.
    Делаю увеличение частоты строчной развертки вдвое, как советовали, чтобы выводить на VGA.
    Я его уже переписал раз 5 разными способами - почти одно и тоже Вот кусок кода с одним из способов, который не работает.

    Код:
    input	SVRTC;
    input	SHRTC;  // "Родной" сигнал гор. развертки
    input 	clk;
    
    output		VRTC_out;
    output		HRTC_out; // Выходной сигнал
    output	[8:0]	hr_cnt;  // Счетчик тактов (выход сделан просто для контроля пока)
    	
    reg	[8:0]	vr_cnt;
    reg [8:0]	hr_cnt;
    reg			HRTC_out;
    
    ........................................(ВЫРЕЗАННЫЙ ОСТАЛЬНОЙ КОД)
    	
    always @(negedge clk or negedge SHRTC)
    	begin
    		if (SHRTC == 'b0)
    			begin
    				if (hr_cnt == 'd272) {hr_cnt, HRTC_out} <= {1'b0, 1'b0};
    				else hr_cnt <= hr_cnt + 1;
    			end
    		else if (hr_cnt != 'd272) hr_cnt <= hr_cnt + 1;
    		case (hr_cnt)
    		'd15:	        HRTC_out <= 'b1;
    		'd255:	HRTC_out <= 'b0;
    		'd271:	{HRTC_out, temp1} <= {1'b1, 1'b0};
    		endcase
    		if (hr_cnt[0] === 1'bx) {hr_cnt, HRTC_out} <= {9'b100010000, 1'b0};
    	end
    endmodule
    Этот процесс должен при negedge "родного" сигнала сделать выходной low и включить счетчик по которому сформировать еще и второй импульс в нужное время и далее ждать следующего negedge "родного" сигнала.
    Дак что ни делаю, на выходе только ХХХХХХ по всем сигналам. (см. вложение) Ведь наверняка какая-то глупая ошибка!

    Вот очередной вариант сделал - тоже не пашет:
    Код:
    assign HRTC_out = (hr_cnt < 'd16) | ((hr_cnt > 'd254) & (hr_cnt < 'd272)) ? 1'b0 : 1'b1;
    	
    always @(negedge clk or negedge SHRTC)
    	begin
    		if (SHRTC == 'b0)
    			begin
    				if (hr_cnt != 9'b111111111) hr_cnt <= hr_cnt + 1;
    				else hr_cnt <= 9'b000000000;
    			end
    		else if (hr_cnt != 9'b111111111) hr_cnt <= hr_cnt + 1;		
    	end
    endmodule
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	XXX.jpg 
Просмотров:	281 
Размер:	64.2 Кб 
ID:	18530  
    Последний раз редактировалось Santechnik; 19.06.2010 в 11:09.

Страница 6 из 17 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Радио-86РК: Разное
    от Titus в разделе Радио-86РК
    Ответов: 351
    Последнее: 05.04.2018, 16:19
  2. Ответов: 65
    Последнее: 14.11.2014, 08:05
  3. Ответов: 92
    Последнее: 19.02.2009, 17:33
  4. Радио 86РК
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.01.2009, 12:52

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •