Перейти к содержанию
    

Где взять сабж? Вроде у Ментора когдато была такая мегакорка, перерыл их сайт не могу найти, 51-ое ядро есть а 8086 нет, подскажите где взять подобное? Интересует возможная стоимость. Если кто делал поделитесь опытом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

здесь http://www.ht-lab.com/freecores/cpu8086/cpu86.html

еще в инвентровских ир на местном фтп

Это есть, вопрос как раз в инвенторовской корке она у них с сайта пропала :(, да и к томуже в режиме 8086 глючит :( :( :(, freecores пока не занимался

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

здесь http://www.ht-lab.com/freecores/cpu8086/cpu86.html

еще в инвентровских ир на местном фтп

Это есть, вопрос как раз в инвенторовской корке она у них с сайта пропала :(, да и к томуже в режиме 8086 глючит :( :( :(, freecores пока не занимался

А в чем глюк?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

здесь http://www.ht-lab.com/freecores/cpu8086/cpu86.html

еще в инвентровских ир на местном фтп

Это есть, вопрос как раз в инвенторовской корке она у них с сайта пропала :(, да и к томуже в режиме 8086 глючит :( :( :(, freecores пока не занимался

А в чем глюк?

Фактически как я понял у них какие то проблемы с очередью команд, простейшая программа, укладывающаяся в первые 16 байт, и, осуществляющая чтение ячейкм памяти, инкремент и запись в нее же, работает, но появляются какие то странные дополнительные чтения/записи из памяти и в память по неиспользуемым адресам, после этих "чудесных" записей, программа начинает работат заново и больше не сбивается :(.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По результатам несколько-дневных долбаний:

инвентровское ядро так и не заработало (ни Verilog ни VHDL) :(

ядро HTlabcom по первым впечатлениям работает (первый простейший код), но надо еще многое проверять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проверьте папочку с корками в upload, может поможет.

А можете на почту выслать? Потому как из папочки ошибка идет, файл не может быть загружен :(

mail to: [email protected] Или переложите куда нибудь. Заранее спасибо.

 

Все получилось, спасибо, прочитал как лечить проблему :) :) :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PM.

С ftp файл скачивается(у меня).

Скачать получилось, боьшое спасибо, прочитал как лечить проблему (надо было перерегистрироваться) :) :) :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

cdg,

а Вам не кажется, что проблема где-то у Вас? Менторовская корка у Вас не работает, выложеная Vetal'ом не работает тоже. Я сомневаюсь, что 2 фирмы продают фактически нерабочие ядра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

cdg,

а Вам не кажется, что проблема где-то у Вас? Менторовская корка у Вас не работает, выложеная Vetal'ом не работает тоже. Я сомневаюсь, что 2 фирмы продают фактически нерабочие ядра.

Мне не кажется и на то есть следующие причины:

1) Менторовская корка была продана АРС и развивалась им далее (не нужно быть супер умным, чтобы это увидить даже не сравнивая исходные тексты корки, достаточно посмотреть на даташиты).

2) Первоначальный глюк связанный с работой в стартапной области небыл исправлен.

3) Существует ряд моментов, на которые у меня не хватает фантазии получить ответы.

4) По фактам:

а) В комплекте с ядром идет testbench, который "?работает?" (их код). Если взять простую програмку:

@FFF8 F0BB 8E15 33DB 8BDB 40C3 0789 9090 F9EB

.186
TITLE   (8086-IP Programm)
LOCALS
code_seg segment
         assume  cs:code_seg
        org     100h
begin:
        mov     bx, 015F0h
        mov     ds, bx
        xor     bx, bx
        mov     ax, bx
l1:
        inc     ax
        mov     word ptr [bx], ax
        mov     ax, word ptr [bx]
        jmp     l1
code_seg ends
        END begin

она как раз помещается в bootcode.mem, то она работает на этом ядре несколько странно (в отличие от фриварного ядра и собственно от обычного процессора I8х86). В первый проход AX и ячейка @15F0h наращивается на 1, второй проход опять в AX и ячейку @15F0h попадает 1, потом АХ обнуляется, на третий проход пишется 1-ца, 4-ый 2-ка и т.д., т.е. начинает работать нормально.

Если код переместить в памяти, а в bootcode.mem оставить только переход то все работает нормально. Так точно у меня работало и инвентровское ядро (отсуда и мысли что глюк не был выправлен).

б) Не могу найти объяснения исходному содержимому файла bootcode.mem:

@fff8 00EA 5000 FF11 FFFF EFEA BFEF FFBF FFFF

если это дизасемблировать то получается нечто:

00000000: EA00005011 jmp 1150:0000
00000005: FF db FF; " "
00000006: FF db FF; " "
00000007: FFEA jmp edx
00000009: EF out ax,dx
0000000A: EF out ax,dx
0000000B: BABFFF mov dx,FFBF
0000000E: FF db FF; " "
0000000F: FF db FF; " "

Код после JMP смысла не имеет (собственно и не выполняется). К стати буткод от инвентровског не отличается.

в) По поводу подключения тоже множество непонятных моментов, разное поведение процессора в зависимости от того в каком состоянии входная шина данных при обращении к "закрытым(несуществующим) областям памяти", 16'h0000- одно, 16'hFFFF - другое, 16'hz - вобще виснет.

г) сохранился с менторовских времен и небольшой баг в тесбенче:

есть:
// Build status for display
  wire s = {mio, dtr_n, den_n};
надо:
// Build status for display
  wire [2:0] s = {mio, dtr_n, den_n};

Исходя из изложенного и возникает сомнение в работоспособности ядра выкидыващего такие фортели на самых простых вещах.

 

5) Вопрос о полнофункциональной программе тестировании ядра остается пока для меня открытым.

6) Если у Вас есть ответы на сформулированные вопросы или Вы можете подсказать в чем корень моих бед - милости прошу :).

 

З.Ы. Пока только в Active HDL пытаюсь запустить, но макет на столе уже есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

она как раз помещается в bootcode.mem, то она работает на этом ядре несколько странно (в отличие от фриварного ядра и собственно от обычного процессора I8х86). В первый проход AX и ячейка @15F0h наращивается на 1, второй проход опять в AX и ячейку @15F0h попадает 1, потом АХ обнуляется, на третий проход пишется 1-ца, 4-ый 2-ка и т.д., т.е. начинает работать нормально.

cdg, Вы совершенно правы, я запустил Ваш код на квесте - те же грабли. Там еще в SP пишется 2, похоже, что вместо AX.

Вопрос - этот глюк критичный, или он возникает только после сброса? Как я понял, он исчезает, если первой командой стоит long jmp.

Вопрос с полной верификацией этого IP, думаю, останется открытым - пока Вы его не купили, тогда можно обратится к разработчикам и получить сатисфакцию. Единственный путь, который я вижу - имплементировать ядро и писать под него firmware, нужное для данной конкретной задачи - в процессе отладки станет ясно глюкавость. Тестов не верификацию интеловских процов я никогда не видел, тесты в биосах, под дос типа манифеста - это все не то.

ЗЫ Хекс, который Вы привели, не совпадает с листингом: в хексе два нопа, а в листинге mov ax,[bx]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...