Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Привет всем. Вот задался написать эмулятор CPU. Скажите, есть ли какие-то книги как писать такие вещи?
Отправлено
bombadil
27 февраля 2007 г. 15:39
Спасибо.
Составить ответ
|
Вернуться на конференцию
Ответы
книг никаких не надо = достаточно описания регистров, системы команд и т.д. в даташите. Заводите массив регистров, памяти, последовательно выбираете команды из памяти и выполняете операции по их описанию. вот и все.
—
ыфефт
(27.02.2007 18:01:10
194.187.229.9
,
пустое
)
Когда-то, лет 20 назад, писал чего-то этакое. Логически-временные, и даже частично электрические, модели целой батареи микросхем. Включая МП 1802, 1804 и 1518, ПЛМ, память. Для симуляции Фурье-процессора. Забавно, что живой процессор делал Фурье за ~1миллисекунду (вроде), а симулировалось это дело (с тактом в 1 нану) чуть ли не сутки:-)). На ассемблере PDP-11 делал.
—
-=ВН=-
(27.02.2007 17:51:55
193.125.71.140
,
пустое
)
Это как же с тактом в одну нану? На ПДП были ЦПУ с тактовыми частотами в 1 ГГц ? %) А с тактом в одну пику не было? %)
—
Доктор Ливси
(27.02.2007 18:04:43
85.30.223.1
,
пустое
)
У-у-у, елки:-))) Неправильно выразился. Дискрет симуляции в одну нану, интервал между состояниями я симулируемой схемы был взят в 1 нану . А не частота процессора, на котором симулятор работал. Ферштейн?
—
-=ВН=-
(27.02.2007 18:21:16
193.125.71.140
,
пустое
)
Теперь ферштейн, теперь ферштейн... Я воль...Ато я уж привык Вам во всем на слово верить... %)))
—
Доктор Ливси
(27.02.2007 18:43:45
85.30.223.1
,
пустое
)
есть такое расширение (библиотека) языка С++, на котором можно написать - SystemC
—
yes
(27.02.2007 17:44:32
87.236.81.130
,
пустое
,
ссылка
)
Ответ:
—
++
(27.02.2007 17:34:52
80.92.98.96
, 234 байт,
ссылка
,
картинка
)
Ответ:
—
++
(27.02.2007 17:42:31
80.92.98.96
,
пустое
,
ссылка
)
а что за экзотика такая, что для процессора нет симулятора?
—
Elektronik
(27.02.2007 16:23:27
194.85.99.225
,
пустое
)
Cypress PSoC например - очень неплохо бы симулятор для него написать... (раньше был, а потом куда-то исчез)
—
yes
(27.02.2007 17:40:4
87.236.81.130
,
пустое
)
ну на vhdl или verilog наверное можно такое сбацать
—
Elektronik
(27.02.2007 16:06:48
194.85.99.225
,
пустое
)
Видимо, это не тот случай. С VHDL что делать? Разве только ПЛИС прошить.
—
Bill_
(27.02.2007 16:12:4
193.233.83.66
,
пустое
)
Как что???? Эти языки изначально предназначены в первую очередь для моделирования цифровых устройств. А только лишь их синтезируемое подмножество - для "вшивания" куда либо.
—
SM
(27.02.2007 16:15:34
213.208.180.51
,
пустое
)
Насколько удобнее работать с моделью CPU в Verilog по сравнению с программным эмулятором?
—
Bill_
(27.02.2007 16:20:15
193.233.83.66
,
пустое
)
Симуляция с точностью до задержек типа setup time, hold time, "clock-to-output", симуляция подключения любых внешних устройств, ПЗУ, ОЗУ, описанных на HDL, и т.п. Т.е. цель такой симуляции - симуляция железки как законченного цифрового электронного устройства. Возможность вычисления тестового покрытия при разработке тестирующей программы, и т.п. В общем не только прогон софта с анализом результата, а и просмотр всех "осциллограмм" в любых точках описания.
—
SM
(27.02.2007 16:33:44
213.208.180.51
,
пустое
)
Короче - разные цели. Отладку программы в симуляторе на базе вериложного описания проводить не удобно. А вот отладку системы в целом, где этот CPU используется как часть - очень даже.
—
SM
(27.02.2007 16:35:17
213.208.180.51
,
пустое
)
Хмм... Что-то мне SystemC вспомнился. Как он для подобной задачи?
—
vmp
(27.02.2007 17:14:24
87.245.155.195
,
пустое
)
Не хуже верилога или вхдл. Но и (имхо) не особо лучше.
—
SM
(27.02.2007 17:30:34
213.208.180.51
,
пустое
)
Я именно это и имел в виду.
—
Bill_
(27.02.2007 16:37:0
193.233.83.66
,
пустое
)
А разве какие-то специальные книги тут нужны? Просто все регистры процессора описываются
—
Bill_
(27.02.2007 15:52:47
193.233.83.66
, 309 байт)
В своё время писал такую вещь для К580ВМ80(Intel8080)(+)
—
Вяч
(27.02.2007 15:51:39
193.110.112.141
, 478 байт)
Я делал софтовый симулятор. И там есть несколько аспектов +
—
iosifk.
(27.02.2007 17:41:36
62.16.102.166
, 543 байт)
Причем даташита мало. Есть еще недокументированная функциональность :) :)
—
SM
(27.02.2007 16:18:37
213.208.180.51
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 56:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru