Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PicoBlaze
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Egel
Здравствуйте.
Первый раз сталкиваюсь с разработкой системы с процессорными ядрами. Почитал Зотова и про сам процессор, поиском по сайту также пользовался rolleyes.gif . Если можете, уточните некоторые аспекты.

Вопросы вот какие :
1. Немного не понятно с моделью ПЗУ для ядра. Подключаем топ файл:
module embedded_kcpsm3(
port_id,
write_strobe,
read_strobe,
out_port,
in_port,
interrupt,
interrupt_ack,
reset,
clk);

output[7:0] port_id;
output write_strobe;
output read_strobe;
output[7:0] out_port;
input[7:0] in_port;
input interrupt;
output interrupt_ack;
input reset;
input clk;

wire [7:0] port_id;
wire write_strobe;
wire read_strobe;
wire [7:0] out_port;
wire [7:0] in_port;
wire interrupt;
wire interrupt_ack;
wire reset;
wire clk;
wire [9:0] address;
wire [17:0] instruction;

kcpsm3 processor
( .address(address),
.instruction(instruction),
.port_id(port_id),
.write_strobe(write_strobe),
.out_port(out_port),
.read_strobe(read_strobe),
.in_port(in_port),
.interrupt(interrupt),
.interrupt_ack(interrupt_ack),
.reset(reset),
.clk(clk));

prog_rom program
( .address(address),
.instruction(instruction),
.clk(clk));

endmodule

Файл ядра ясно какой подключать, а что делать с памятью? Для ядра файл kcpsm3, а для памяти JTAG_Loader_ROM_form? Но он не подключается как verilog/vhdl файл. Подскажите, непонятна сама методика (наверное может показаться, что я ересь несу).
2. Не совсем понятно как происходит программирование этой ПЗУ через JTAG. Как я понял - пишем код, компиллируем его асемблером, затем програмкой грузим в ПЛИС?

Еще раз извиняюсь за глупости - не у кого спросить даже глупые вопросы
MKS
На выходе компилятора асемблерного кода появляется файл (на Verilog) с блоком памяти который инициализирован вашей программой, его и нужно подключать к проекту. Дальше проект собирается обычным образом и заливается в ПЛИС . Есть еще вариант перезаливки кода через JTAG находу (это наверняка удобно при отладке), но я его никогда не использовал, поетому ничего сказать про него не могу.
des00
Цитата(MKS @ Mar 10 2009, 15:02) *
Есть еще вариант перезаливки кода через JTAG находу (это наверняка удобно при отладке), но я его никогда не использовал, поетому ничего сказать про него не могу.


когда работал с пикоблейзом постоянно работал через житаг, очень просто и удобно. Перешивка занимает пару секунд (с 3 им кабелем). когда прога отлажена то просто подключает нужный ром файл в сборку.
Egel
Спасибо. Я так понял, что он вообще говоря немного устарел? На чем вообще лучше учиться? Чтобы в проекты плисовые включать и на асме программировать? И есть ли открытые ядра посложнее - например, чтобы можно было на С программы писать??
vik0
Цитата(Egel @ Mar 11 2009, 11:49) *
Я так понял, что он вообще говоря немного устарел?

Нет, почему же? Для своего класса задач вполне неплохое ядрышко.
Цитата
На чем вообще лучше учиться?

Чему?
Цитата
И есть ли открытые ядра посложнее - например, чтобы можно было на С программы писать??

http://opencores.org/?do=projects&cat=...y&stage=any
На любой вкус и цвет. rolleyes.gif
Egel
Учиться одновременно и программированию микропроцессоров и созданию систем на кристалле на их основе. С программированием на асме, но С желательнее
des00
Цитата(Egel @ Mar 11 2009, 03:49) *
Спасибо. Я так понял, что он вообще говоря немного устарел? На чем вообще лучше учиться? Чтобы в проекты плисовые включать и на асме программировать? И есть ли открытые ядра посложнее - например, чтобы можно было на С программы писать??


устарел ? ну найдите другой проц с возможностями пикоблейза на 96 плиток и тактовой под 200 МГц (виртксы).

проект си компилятора для пикоблейза загнулся, 1 к слов не сложно и на ассемблере написать

Кста забыл сказать что под него есть 2 асма, от хилых, с возможностью загрузки через житаг и еще один с симулятором ака AVR Studio, но вроде без поддержки житага. Минус в том что эти асмы не совместимы.


ЗЫ. видел в сети код для пикоблейза для i2c мастера, все софтово, быстрая разработка и отладка + весит 96 плиток smile.gif
Костян
Цитата(des00 @ Mar 12 2009, 08:10) *
Кста забыл сказать что под него есть 2 асма, от хилых, с возможностью загрузки через житаг и еще один с симулятором ака AVR Studio, но вроде без поддержки житага. Минус в том что эти асмы не совместимы.

Есть KCPSM3 and pBlazIDE. Через JTAG удобно работать с KCPSM3. Симуляцию делать удобно в pBlazIDE.

Совместимость KCPSM3 -> pBlazIDE есть. Обратно - нету. Но ничего не мешает держать рабочий проект для KCPSM3, а при необходимости импортировть в pBlazIDE и производить симуляцию там.

Цитата
Учиться одновременно и программированию микропроцессоров и созданию систем на кристалле на их основе. С программированием на асме, но С желательнее

На Си учится лучше на обычных контроллерах или x86 машинах.
Ну а если очень хочется одновременно м/к и SoC , то вперед к Microblaze или PowerPC.

Цитата
Спасибо. Я так понял, что он вообще говоря немного устарел?

Ничего подобного . Отличное ядро. Быстрое , маловесящие. Для своего круга задач (как выше было замечано) весьма симпатичное.
Egel
Всем спасибо за ответы. Тему можно считать закрытой
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.