Перейти к основному содержимому

Программирование

Создание конфигурации для микросхемы памяти 5400РТ015

ПО DCSProg позволяет создать прошивку для микросхемы памяти 5400РТ015.

  1. Сформируйте файл сжатого или несжатого образа. Более подробную информацию можно найти в разделе «Руководство пользователя X-CAD».

  2. Нажмите «Микросхема» – «Загрузить файл сжатого образа ПЛИС» или «Загрузить файл несжатого образа ПЛИС» выберите нужный файл в открывшемся окне.

Выбор файла в DCSProg
Выбор файла в DCSProg

После успешного добавления, в окне DCSProg будет указан выбранный файл и путь до него.

  1. Нажмите «5400РТ015» – «Сформировать прошивку из сжатого образа» или «5400РТ015» – «Сформировать прошивку из несжатого образа»

После успешного создания файлов необходимые файлы для последующей загрузки в микросхему 5400РТ015 будут расположены в директории DCSProg /memory_images/.

Расположение файлов прошивки в папке DCSProg
Расположение файлов прошивки в папке DCSProg

В случае если зашивка создается из сжатого образа, то файлы расположены в директории memory_images/compressed. Если зашивка создается из несжатого образа, то файлы будут расположены в директории memory_images/raw.

Поскольку микросхема ПЛИС обладает большим объемом памяти, чем микросхема 5400РТ015, при создании прошивки из сжатого образа будут сформированы два файла (IC1.txt и IC2.txt), из несжатого 4 файла (IC1.txt – IC4.txt).

Для загрузки программы в ПЛИС из внешней микросхемы памяти 5400РТ015 потребуется 2 микросхемы памяти для загрузки в режим «HARD» и 4 микросхемы памяти для загрузки в режим «SOFT».

Подробнее по программированию микросхемы памяти смотрите в документации на 5400РТ015.

Загрузка конфигурации и программирование ПЛИС с помощью внешней памяти 5400РТ015

Микросхема ПЛИС позволяет взаимодействовать с внешней микросхемой памяти по SPI интерфейсу.

Для загрузки конфигурации из микросхемы памяти необходимо:

  1. Подключить выводы микросхемы памяти к выводам EXT_MEM (отладочная плата, позиция 7) отладочной платы ПЛИС.
  2. Выбрать «Режим» – «SPI режим» в DCSProg.
  3. Нажать кнопку nDRES на отладочной плате ПЛИС.

После этого прошивка из микросхемы памяти будет загружена в ОЗУ ПЛИС.

Программирование микросхемы в режиме SOFT

  1. Сформируйте файл несжатого образа с расширением .bitnum. Более подробную информацию можно найти в документации «Руководство пользователя X-CAD».
  2. Нажмите «Микросхема» – «Загрузить файл несжатого образа ПЛИС» и выберите нужный файл в открывшемся окне.
Загрузка несжатого образа
Загрузка несжатого образа

После успешного добавления в окне DCSProg отобразится выбранный файл и путь к нему.

  1. Далее нажмите «Микросхема» – «Записать в ОЗУ ПЛИС несжатый образ».
Запись в ОЗУ несжатого образа
Запись в ОЗУ несжатого образа

После успешного программирования в DCSProg появится сообщение «ПЛИС запрограммирована в режиме SOFT».

Пример тестовой прошивки

В качестве примера тестовой прошивки приведен счетчик, управляющий и переключающий последовательно восемь выходов: DIO36, DIO35, DIO34, DIO33, DIO32, DIO31, DIO30, DIO29, начиная с младшего бита соответственно. Тактовый сигнал задается на вход GCLK1. Сигнал сброса, активного по низкому уровню, на вход DIO2. Для отладки проекта повторить шаги 2, 3 пункта «Программирование микросхемы в режиме SOFT»

Модуль счетчика
module counter (
input wire clk, // Тактовый сигнал
input wire rst_n, // Сброс по активному низкому уровню
output reg [7:0] out // Восемь выходов
);

reg [2:0] counter; // 3-битный счётчик

always @(posedge clk or negedge rst_n) begin
if (!rst_n) begin
counter <= 3'b000; // Сброс счётчика
out <= 8'b0000_0001; // Включён только первый выход
end else begin
counter <= counter + 1; // Увеличение счётчика
if (counter == 3'b000)
out <= 8'b0000_0001; // Первый выход
else if (counter == 3'b001)
out <= 8'b0000_0010; // Второй выход
else if (counter == 3'b010)
out <= 8'b0000_0100; // Третий выход
else if (counter == 3'b011)
out <= 8'b0000_1000; // Четвёртый выход
else if (counter == 3'b100)
out <= 8'b0001_0000; // Пятый выход
else if (counter == 3'b101)
out <= 8'b0010_0000; // Шестой выход
else if (counter == 3'b110)
out <= 8'b0100_0000; // Седьмой выход
else if (counter == 3'b111)
out <= 8'b1000_0000; // Восьмой выход
end
end

endmodule
Тестбенч для модуля
module counter_tb;

reg clk;
reg rst_n;
wire [7:0] out;

// Инстанцируем модуль счётчика
counter uut (
.clk(clk),
.rst_n(rst_n),
.out(out)
);

// Генерация тактового сигнала
initial clk = 0;
always #5 clk = ~clk; // Период 10 единиц времени

initial begin
$dumpfile("out.vcd");
$dumpvars(0,counter_tb);
rst_n = 0;
#15 rst_n = 1; // Снять сброс через 15 единиц времени

#37 rst_n = 0;
#5 rst_n = 1;

#200 $finish; // Остановка симуляции
end

endmodule
Файл размещения контактных площадок
set xc(inout) {
{ rst_n DIN2 }
{ out[7] DOUT66 }
{ out[6] DOUT69 }
{ out[5] DOUT73 }
{ out[4] DOUT76 }
{ out[3] DOUT79 }
{ out[2] DOUT83 }
{ out[1] DOUT86 }
{ out[0] DOUT89 }
{ clk DIN_CLK1 }
}
set xc(inout_type) {
{ rst_n xa3_ib a }
{ out[7] xa3_ob x }
{ out[6] xa3_ob x }
{ out[5] xa3_ob x }
{ out[4] xa3_ob x }
{ out[3] xa3_ob x }
{ out[2] xa3_ob x }
{ out[1] xa3_ob x }
{ out[0] xa3_ob x }
{ clk xa3_clk_ib a }
}

Программирование микросхемы в режиме HARD

  1. Сформируйте файл сжатого образа с расширением .txt. Более подробную информацию можно найти в документации «Руководство пользователя X-CAD».
  2. Нажмите «Микросхема» – «Загрузить файл сжатого образа ПЛИС» и выберите нужный файл в открывшемся окне.
Загрузка сжатого образа
Загрузка сжатого образа

После успешного добавления, в окне DCSProg будет указан выбранный файл и путь до него.

  1. Далее нажмите «Микросхема» – «Записать в ПЗУ ПЛИС сжатый образ».
Запись в ПЗУ сжатого образа
Запись в ПЗУ сжатого образа

После успешного программирования в DCSProg появится сообщение «ПЛИС запрограммирована в режиме HARD».

При загрузке прошивки в режиме «SOFT» время загрузки остается неизменным, независимо от размера прошивки. В режиме «HARD» время загрузки зависит от размера прошивки.