Skip to main content

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

Создание конфигурации для микросхемы памяти 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» время загрузки зависит от размера прошивки.