Jump to content
    

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

А в чем глюк?

Share this post


Link to post
Share on other sites

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

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

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

А в чем глюк?

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

mail to: cdg_y@yandex.ru Или переложите куда нибудь. Заранее спасибо.

 

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

Share this post


Link to post
Share on other sites

PM.

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

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

Share this post


Link to post
Share on other sites

cdg,

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

Share this post


Link to post
Share on other sites

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 пытаюсь запустить, но макет на столе уже есть.

Share this post


Link to post
Share on other sites

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

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

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...