Разводка офигенно громоздких плат (Автороутер выбираем)

Postby KOE » 23 Feb 2009, 20:28

ИНТ длится от КСИ и до цикла подтверждения прерывания (Неме превед biggrin ). Программно егойную длительность померять невозможно, но этот глюкотест4.30 умудрился как-то. И строк на экране 2121, хотя на деле их 512, из которых 480 видимых. И тактов в прерывании он чего-то мало насчитал, для 25 МГц без вайтов. Хотя кадровую частоту я 60 Гц сделал, так и должно быть поменьше.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4683
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby нолька » 23 Feb 2009, 20:37

инт должен длиться от КС до подтверждения прерывания, но не более NN тактов (на профи вроде 16 строк, но это имхо много). Иначе при запрещенных прерываниях сигнал инт будет все время активен и при разрешении сразу сработает.
<alone> предлагаю тслабсу дать транк, но с условием чтобы он впилил туда спрайтотайлы, но не трогал атм
<LordVader> alone: яготов всосать срайты от тслабса )
<LordVader> атм режимы это пиздец
User avatar
нолька
рОвный
 
Posts: 1200
Joined: 08 Apr 2007, 20:12
Group: Registered users

Postby KOE » 23 Feb 2009, 20:42

нолька wrote:инт должен длиться от КС до подтверждения прерывания, но не более NN тактов (на профи вроде 16 строк, но это имхо много). Иначе при запрещенных прерываниях сигнал инт будет все время активен и при разрешении сразу сработает.

Ну и что, сработает и ладно. Одно прерывание будет не в такт, а все следующие - как надо.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4683
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby нолька » 23 Feb 2009, 20:59

ну представь такую ситуацию. прерывание срабатывает в середине фрейма, а потом в начале следующего, т.е. между ними достаточно мало тактов - из-за чего вполне возможны глюки в некоторых прогах (вероятность очень маленькая, но если вдруг возникнет, то потом сто копий сломаешь прежде чем обнаружишь в чем дело). Так что советую пофиксить.
<alone> предлагаю тслабсу дать транк, но с условием чтобы он впилил туда спрайтотайлы, но не трогал атм
<LordVader> alone: яготов всосать срайты от тслабса )
<LordVader> атм режимы это пиздец
User avatar
нолька
рОвный
 
Posts: 1200
Joined: 08 Apr 2007, 20:12
Group: Registered users

Postby deathsoft » 23 Feb 2009, 23:00

KOE wrote:Одно прерывание будет не в такт, а все следующие - как надо.

Ну - вывод картинки через стэк, при этом данные в стеке будут испорчены из за левого прерывания. Уж в альтере то без проблем можно сделать счетчик на 23 такта а дальше ИЛИ на то что быстрее сработает, счетчик или подтверждение инта.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby KOE » 24 Feb 2009, 00:03

deathsoft wrote:Уж в альтере то без проблем можно сделать счетчик на 23 такта а дальше ИЛИ на то что быстрее сработает, счетчик или подтверждение инта.


Да сделаю, не проблема.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4683
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby KOE » 24 Feb 2009, 00:10

Кстати, еще интересный момент. Разогнал срам почти до паспортных наносекунд - из-за задержек сигналов на выходах ПЛИС приходится хватать данные из памяти не в тот момент, когда это надо сделать согласно моему черновичку (листочег в клеточку с диаграммами, нафигаченными от руки), а позже. Т.е. у меня есть основной клок, относительно которого все синхрится и затем предделитель, отсчитывающий периоды клока. Так данные приходится хватать с задержкой на такт относительно расчетного момента, иначе дает сбои.
Я вот что думаю, если вдруг придется портировать прошивку для более быстрой fpga, придется это дело учитывать (т.е. подбирать фазу схватывания данных). Блин, некрасиво получается. А иначе наносекунды фиг выловишь.
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4683
Joined: 15 Apr 2007, 13:06
Group: Registered users

Postby deathsoft » 24 Feb 2009, 02:10

KOE wrote:Разогнал срам почти до паспортных наносекунд - из-за задержек сигналов на выходах ПЛИС приходится хватать данные из памяти не в тот момент, когда это надо сделать согласно моему черновичку

Ну вон у вадера по началу на ДЕ1 не работало на паспортной частоте, как раз из за задержек на пинах альтеры. Это считай как подгонка кондерами =). Я когда ПЦЫ контроллер делал на тормозном АЦЕКСе точно также извращался.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 24 Feb 2009, 02:11

KOE wrote:А иначе наносекунды фиг выловишь.

Мне хватило работы по 2м фронтам, в части схемы юзался прямой клок, в части инверсный, сдвига на пол такта вполне хватало.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby KOE » 05 Aug 2009, 00:54

Скажите мне, други, синтез FPGA - это действительно искусство черной магии, или я просто такой невезучий?

Ровно 2 дня трахался с квартусом, портируя свои, заметьте, свои рабочие исходники от Pentagon 2.666 для Pentagon 2.666 LE. А всего-то заменил контроллер и в связи с особенностями двухслойной платы переназначил выводы FPGA. Ну и клокинг всей системы сделал от одного единственного кварца с двойной фапчой (двухкратное умножение частоты). И вот тока 5 минут назад узрел на экране заветное (c) 1982 Sinclair research Ltd...

... Дело дошло до полной ж, писал на асме тест вместо родного ПЗУ:
org 0
di
start: ld a,7
border: out (fe),a
dec a
jr nz,border
jr start

И вбивал его в БИНАРНОМ КОДЕ (да-да, ноликами и единичками, помните тупую шутку, про то, что настоящему программеру надо 3 кнопки:0,1 и enter) в VHDL-код для пошаговой трассировки...

Но таки выловил глючные цепочки в своем ДНК. Теперь с чувством решенной задачи ложусь спать...
Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
User avatar
KOE
 
Posts: 4683
Joined: 15 Apr 2007, 13:06
Group: Registered users

PreviousNext

Return to Hardware

Who is online

Users browsing this forum: No registered users and 29 guests

cron