FPGA管脚约束-Matlab批量转换Excel文件至ucf约束文件(xls2ucf)

需求

在进行FPGA设计时,时常需要编写ucf文件对管脚与信号进行约束,而提供给我们的硬件设计信息经常是excel表格,包括因此需要将excel内的内容转换至ucf中,这是一个巨大的工程,因此编写了一个matlab来批处理这些信息并自动编写ucf管脚约束。

Excel内容

这里就随便举个例子
FPGA管脚约束-Matlab批量转换Excel文件至ucf约束文件(xls2ucf)_第1张图片

Matlab转换

clear all;
close all;
clc;

%定义各类数值
xls_filename = '电路引脚.xlsx';
ucf_filename = 'GNSS.ucf';
IO_Type_1_8 = '1.8V';%电平的定义
IO_Type_3_3 = '3.3V';
FormatSpecLoc   = 'NET "%s"         LOC = %s;\n';%输出的UCF格式
FormatSpecIO    = 'NET "%s"         IOSTANDARD = LVCMOS%s;\n';

%读取数据
[num,txt,raw] = xlsread(xls_filename);
fid = fopen(ucf_filename,'w');
[Row,Col] = size(raw);

%转换数据格式至数组矩阵
for i = 1:1:Col
    Str_Xls(:,i) = string(raw(:,i));
end

%打印UCF文件
for i = 1:1:Row
    fprintf(fid,FormatSpecLoc,Str_Xls(i,1),Str_Xls(i,2));
    if strcmp(Str_Xls(i,3),IO_Type_1_8)
        Voltage_String = '18';
    elseif strcmp(Str_Xls(i,3),IO_Type_3_3)
        Voltage_String = '33';
    end
        fprintf(fid,FormatSpecIO,Str_Xls(i,1),Voltage_String);
end

你可能感兴趣的:(Xilinx学习)