复旦微FMQL 100t 从procise软件安装到工程实战

简单介绍一下,复旦微FMQL系列是一款基于复旦微自主研发的Flash工艺的FPGA(现场可编程门阵列)产品。该系列以其非易失性(无需外部配置芯片,上电即运行)、高安全性低功耗高可靠性为显著特点。

主要特性:

  1. 非易失性存储:芯片内部集成了可编程的Flash单元,配置信息断电不丢失,简化了系统设计,提高了安全性。

  2. 高安全性:支持AES等加密算法,可对配置数据进行加密,防止逻辑被非法读取或复制。部分型号还集成了物理不可克隆功能(PUF)。

  3. 低功耗:由于采用Flash工艺,静态功耗通常低于基于SRAM工艺的FPGA。

  4. 高可靠性:适用于工业控制、汽车电子、通信设备等对稳定性要求较高的领域。

  5. 开发环境:使用复旦微提供的专用软件套件进行设计开发,支持硬件描述语言(如Verilog/VHDL)。

应用领域:​ 主要应用于工业控制、通信、汽车电子、物联网、数据中心以及需要高安全性和高可靠性的各类嵌入式系统。

市场定位:​ 作为国产FPGA的重要一员,复旦微FMQL系列为国内客户提供了高性能、高安全性的非易失FPGA解决方案,是SRAM架构FPGA之外的一个重要选择


软件列表

• Procise 

Procise是一款致力于完整FPGA开发流程的工具软件,该软件实现FPGA部分的设计和开发,管脚和时序的约束,编译和实现RTL网表到位流的设计流程。

IAR SDK

IAR SDKEmbedded Workbench系列是一种增强型一体化嵌入式集成开发环境,其中完全集成了开发嵌入式 系统所需要的文件编辑、项目管理、编译、链接和调试工具。Procise调用IAR SDK集成开发环境进行C/C++开发 和调试。IAR SDK需单独安装并在Procise中配置。

Vivado相关驱动:CP210x Windows Drivers


软件安装

下载Procise安装包,双击FMSH Procise 2025.1.1 xxxxxxxx yyyyyyyy.exe,进入安装界面
点击“Next”。

无需任何修改,一直点击next,直到install结束。

License的安装

新版本的Procise无需安装License。 如用户使用旧版本的Procise, 可以找技术支持代为申
License,将获得的license拷贝到procise安装目录“data”文件夹,即可使用procise

IAR的配置

Procise安装好后, 如果需要从Procise唤起IAR, 需要设置IAR Workbench路径。 方法如下。
IAR的安装方法在此不赘述了。
1. 点击Tools->Integrated Tools Options

选择IAR的安装路径。这里注意IAR Embedded Workbench 8.xx.x 9.xx.x不完全兼容。用户应该根据芯片型
号安装正确的IAR版本并将IAR的地址填入相应的方框内。
IAR Embedded Workbench 8.xx.x适用于fmql10fmql20fmql45器件。
IAR Embedded Workbench 9.xx.x适用于fmql10fmql20fmql45jfmql100器件。

设置完毕后,可以点击Project->Launch IAR启动IAR。

可以使用Vivado开发位流,推荐使用vivado 2018.3版本。
针对Vivado中部分IP不兼容芯片的问题,需要打补丁。复旦微开发了IP Patch工具包,使用此工具包可以
解决IP兼容性问题。需要阅读《IP PATCH工具使用说明》了解如何使用IP PATCH工具。此外,还提供 开发平台基础教程 FMQL智能多媒体芯片 版本1.0 第20/950Bit位流补丁,使用流程请参照《FMSH补丁全流程操作指南
针对JFMQL100TJFMQL100TAIJFMQL30TAI器件,尤其需要注意安装IP Patch工具包后,需要执行以 下tcl指令,替换数据库。

好了,工具环境的安装介绍到这里,IRA的安装也非常简单,网上自行寻找安装包(软件包的寻找和安装是一个成熟工程师的必备技能,小伙伴们应该是轻松拿捏),下期开始procise流程介绍。




procise实战测试一 纯pl端的led

1.在Windows中可以双击Procise快捷方式启动Procise

2.Procise开发环境中点击“New Project”可以创建一个新工程

3.在弹出的对话框中输入工程名和工程存放路径,我们这里取名叫Procise pl led。需要注意工程路径“Project location”中不能有中文空格,路径名最好也不要太长。然后Procise的工程名字的首字母不能是数字。然后点 击“Next”。

4.Device Family里选择“jfmql”,Device选择“jfmql100t900”,然后点击“Next

5. 下一步会让我们选择是否添加已有的文件到工程,我们这里不添加,直接选择“Next”。
6. 点击“Finish”即可完成“Procise pl led”工程的创建。
7. 下图为Procise的软件界面。

创建Verilog HDL文件

1. 右键点击Sources图标,选择添加或者创建设计源文件“New Source”。

2.弹出的窗口里,设置“File Type”为“Verilog”,“File Name”为“procise pl led”后点击“OK”即完成了
文件的添加。

3. 添加完成后会自动弹出.v文件的编辑界面。

4. 编写一段“procise pl led.v”逻辑代码,这里定义了一个32位的寄存器timer,用于循环计数0˜499999991秒), 计数到49999999的时候,timer0,并翻转8LED灯。在硬件上表现为LED会每秒钟切换一次亮灭状态。编 写完代码后点击保存,源代码如下:
`timescale 1ns / 1ps

module led (
    input            clk_p,
    input            clk_n,
    output reg [3:0] led
);
    wire sys_clk;
    IBUFDS #(
        .DIFF_TERM   ("FALSE"),   // Differential Termination
        .IBUF_LOW_PWR("TRUE"),    // Low power="TRUE", Highest performance="FALSE"
        .IOSTANDARD  ("DEFAULT")  // Specify the input I/O standard
    ) IBUFDS_inst (
        .O (sys_clk),  // Buffer output
        .I (clk_p),    // Diff_p buffer input (connect directly to top-level port)
        .IB(clk_n)     // Diff_n buffer input (connect directly to top-level port)
    );

    reg [31:0] timer_cnt;
    always @(posedge sys_clk) begin
        if (timer_cnt >= 32'd199_999_999) begin
            led       <= ~led;
            timer_cnt <= 32'd0;
        end
        else begin
            led       <= led;
            timer_cnt <= timer_cnt + 32'd1;
        end
    end
endmodule

添加约束

1. 右键点击Constraints图标,选择添加或者创建设计源文件“New Source”。

2. 弹出的窗口里,设置“File Type”为“UCF”,“File Name”为“Procise pl led”后点击“OK”即完成了文
件的添加。
3. 添加完成后会自动弹出.ucf文件的编辑界面。但是这里是空的,需要我们自己去添加相关的约束。约束格式 和XilinxUCF约束格式一致。

NET "led[0]" IOSTANDARD = LVCMOS15;
NET "led[1]" IOSTANDARD = LVCMOS15;
NET "led[2]" IOSTANDARD = LVCMOS15;
NET "led[3]" IOSTANDARD = LVCMOS15;

NET "led[0]" LOC = E11;
NET "led[1]" LOC = D11;
NET "led[2]" LOC = F13;
NET "led[3]" LOC = H14;


NET "clk_p" LOC = C8;
NET "clk_p" IOSTANDARD = LVDS;
添加完毕后,点击保存。

生成bit流

1. 编译过程可以分为综合、布局布线、生成bit位流等,通过右键点击“Generate Bitstream”中的“Run”或者 直接双击“Generate Bitstream”就可以直接一键式生成bit位流。

2. 如果生成位流成功,下图中所有的步骤都会有绿勾pass标志

下载调试

1. 连接好开发板的PL JTAG接口,给开发板上电。
2. 双击“Configure Device”下的“Create PROM File”。

弹出下载窗口如下

3. 双击左上角的“Connect to board”图标,则会出现“Chain configuration of your board”及相应的配置图。 我们设置的是级联模式,所以会有ARMFMFPGA配置同时出现。

4. 右键点击jfmql100t器件,选择“Assign New Configuration File...”,在弹出的窗口里选择生成好的位流,然后 点击“OK”。Procise默认生成位流位置在rundir文件夹内。

5. 这个时候可以看到器件上附上了我们的位流文件,右键“Program”即可进行位流下载。

6. 等待下载成功后,纯PLProcise流程至此结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值