




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Libero SoC集成开发环境使用教程 FPGA篇 Theo SoCGroup 主要内容 LiberoSoC概览LiberoSoC设计流程LiberoSoC工程样例LiberoSoCLicense管理 2 目标 熟悉LiberoSoC设计流程 熟悉LiberoSoC设计流程中各个环节的使用工具 熟练使用LiberoSoC集成开发环境进行基于FPGA的设计 3 主要内容 LiberoSoC概览LiberoSoC设计流程LiberoSoC工程样例LiberoSoCLicense管理 4 LiberoSoC概述1 Libero SoC是Microsemi提供的功能强大的SOC FPGA设计和开发工具 除了集成有Microsemi公司的SOC FPGA系列产品的开发工具套件外 还集成有第三方公司工具如 Synplify ModelSim andViewDraw 5 LiberoSoC概述2 6 LiberoSoC概述3 要生成供别的模块调用的子模块时候选择 默认不选 如果不使用MSS 不需要选择此选项 此选项是用于快速建立MSS实用的 单纯的FPGA设计不要选 选择器件型号及封装等 7 LiberoSoC概述4 8 LiberoSoC概述5 9 LiberoSoC概述6 10 LiberoSoC概述7 11 LiberoSoC概述8 所有的IP firmware等更新的3个地址 这是Libero安装后 IP存放的默认目录 任何更新都会将新版本的IP下载到该目录中 你也可以根据需求自己修改该位置 12 LiberoSoC概述9 有黄色的锁标志 说明已经有license授权 否则需要申请license才能使用 13 主要内容 LiberoSoC概览LiberoSoC设计流程LiberoSoC工程样例LiberoSoCLicense管理 14 LiberoSoC设计流程 Createdesign有3种方法创建你的设计 1 systembuilder 2 smartdesign 3 verilog或VHDL 有3种类型的约束 1 IO约束 创建 导入已有的约束文件 2 floorplan约束 创建 导入已有的约束文件 3 timing约束 创建 导入已有的约束文件 编译后约束编辑 1 IO约束 编译后的IO编辑器显示已分配和未分配的引脚 以及引脚的属性 2 Timing 运行smarttime来分析最小和最大延迟约束 以及其余的Timing约束 3 Floorplan 在芯片上创建区域 并分配相应的逻辑到该区域中 15 Createdesign Systembuilder1 SystemBuilder是专门为第四代FPGASmartfusion2和Igloo2设计的图形化设计向导 只需要针对你的系统架构和外设需求输入相应的参数 该向导会自动为你配置 添加相应的逻辑和IP 并自动连接 16 Createdesign Systembuilder2 SystemBuilder是专门为第四代FPGASmartfusion2和Igloo2设计的图形化设计向导 17 Createdesign Systembuilder3 SystemBuilder是专门为第四代FPGASmartfusion2和Igloo2设计的图形化设计向导 面板中列出的是可以加入到Fabric中的主从外设模块 MSS中可以例化的外设 勾选是确定使用 18 Createdesign Systembuilder4 SystemBuilder是专门为第四代FPGASmartfusion2和Igloo2设计的图形化设计向导 系统各个模块所需要的时钟 19 Createdesign Systembuilder5 SystemBuilder是专门为第四代FPGASmartfusion2和Igloo2设计的图形化设计向导 设置系统tick时钟周期 提供event信号传递的通道 唤醒机制使用 用于系统功耗管理 用于debug的跟踪机制使用 Cache是否使能 进行重映射的Memory选择 默认是Envm 用于仲裁时候 主从设备的权重值 来确定执行的优先级 20 Createdesign Systembuilder6 SystemBuilder是专门为第四代FPGASmartfusion2和Igloo2设计的图形化设计向导 为了防止RAM和FIFO单元受重粒子的干扰而产生错误 专门有错误检测和纠正 EDAC 电路进行保护 可以将EDAC错误信号传递到Fabric中 供用户设计使用 发现单bit错误可以纠正 可以检测到双bit错误信息 21 Createdesign Systembuilder7 SystemBuilder是专门为第四代FPGASmartfusion2和Igloo2设计的图形化设计向导 出于对安全的考虑 可以通过配置来控制对MSS内存影射区间的存取 可以限制对Esram envm Fabric DDRbridge的读写操作 以及Fabric中主设备对MSS从设备的存取操作 22 Createdesign Systembuilder8 SystemBuilder是专门为第四代FPGASmartfusion2和Igloo2设计的图形化设计向导 显示是否设置有中断信号 23 Createdesign Systembuilder9 SystemBuilder是专门为第四代FPGASmartfusion2和Igloo2设计的图形化设计向导 外设对应的地址空间 24 Createdesign SmartDesign SmartDesign就像一块画布 将各种需要的模块拉进来 进行互联互通 最后生成一个全新的功能模块 MSS子系统模块 可以根据是否需要Cortex M3 确定是否要生成该子模块 FPGAFabric中的模块 可以是用户自己写的VHDL或Verilog代码 也可以是catelog中模块或别的IPCore 单独配置MSS系统模块 包括MSS及相应的逻辑电路 MicrocontrollerSubsystem配置 最后 不要忘记点击Generatecomponent来生成最终的模块 25 Createdesign CreatHDL 使用Verilog或VHDL语言 通过文本编辑器编写代码 来创建逻辑电路模块 文件名 代码区间 26 Creatconstraint pdc 在完成设计之后 综合和编译之前 可以加入约束文件 用来指导后面的综合 编译和布局布线等等 这些约束包括 IO Timing和Floorplan约束 这些约束文件 可以是通过导入已有的文件 或者是创建新的文件 对应的分别是PDC文件和SDC文件 如果在这个环节不导入 创建 也可以在后续的环节加入约束 在综合和编译后 系统会自动生成默认的约束文件 在这个基础上进行修改和指定 27 Creatconstraint Timing sdc 时序约束反映了设计的性能目标 软件根据这个时序约束 指导时序驱动的优化工具进行综合优化 可以对全局或某个特定的路径进行时序约束 可以设置的约束有 指定要求的最小时钟周期 设置输入输出端口时序信息 定义指定路径的最大延迟 False路径分析 多周期路径分析 指定端口的外部附载 28 ImplementDesign Synthesize 选择导入文件 可以将时序约束文件导入近来 用于指导综合 可以手动添加源文件到关联文件框中 也可以由系统自动添加 如果你想使用系统默认的设置进行综合 只需要双击就可以了 如果你要自己定制相应的设置 则右键选择openinteractively 打开Synplify综合工具 29 ImplementDesign Synthesize 综合工具的一些参数设置 输出窗口 30 ImplementDesign Synthesize 31 ImplementDesign VerifyPost SynthesisImplementation 综合后仿真 功能仿真 是在布局布线之前进行的 旨在验证用户设计的逻辑功能的正确性 在激励文件中 选择一个testbench文件 然后添加到AssociatedStimulusfiles 软件工具已经默认的对这些源文件进行了关联 32 ImplementDesign Compile 编译选项对话框 允许你控制SDC文件合入的方式 PDC错误时候编译的行为 高扇出网络的限制数量等 选择该选项 可以保留你事先设置的时序约束 如果你导入了新的SDC文件 那么编译工具会将原来的时序约束条件和新的时序约束文件合并在一起 对于重复的时序约束条件 则以新的SDC文件为准 该选项是用来控制当在物理设计约束文件中发现错误时候编译工具的行为 是报告错误并停止编译 还是只是将错误以告警的方式报告出来 继续完成编译过程 该选项是用来告诉编译器 只将扇出数量的最多的前10个网络显示在报告中 33 ImplementDesign Compile 编译器的输入源文件是综合后的 edn文件 选择时序约束工具 用来指导编译和后续的布局布线 34 ConfigureFlash Freeze Flash Freeze模式可以极大地降低FPGA的功耗 Suspend SRAM中的内容保留 Sleep SRAM中的内容丢失 时钟速率的选择 根据对功耗的要求 以及外设来确定的 如果要求功耗低 就选低速时钟 如果要使用片外Uart等 为了保证波特率就需要使用高速时钟 35 ImplementDesign 布局布线 在布局布线时 可以通过修改配置选项来指导布局布线 是默认选项 主要目标是满足时序约束 可以提供比常规选项更好的性能 如果不选择该选项 则是以提高芯片的资源利用率为主 这个时序约束是人为设置或者系统自动设置的 主要目标是降低动态功耗 同时会维持时序约束条件 付出更多的努力去优化布局布线的性能 通过牺牲布局布线的时间 来获取更优的性能 优化时候会修改一些网络布局布线以及逻辑器件的映射 但是 像寄存器 Memory io 时钟 PDC和SDC综合出的资源是不会做变动的 通过前面的布局布线的结果 作为下一轮布局布线的初始数据 通过增量模式 前期布局布线的部件位置和网络布线信息都可以保留 此种模式 可以允许将一个工程分成若干个部分 有不同的工程师完成各个部分的设计 可以分别进行布局布线 最后合在一起 36 ImplementDesign 约束 IO约束 37 ImplementDesign 验证 主要功能是从布局布线后生成的数据中提取出时序延迟信息 作为后仿真的输入数据使用 来传递给仿真器 后仿真 和功能功能仿真有所区别 加入了网络中的实际延迟信息 38 编程配置 配置编程接口 JTAG链 编程器FlashPro的设置 编程器件的IO引脚状态 39 Microsemi安全设计架构概览 FlashLockbits可以控制FPGA中相应部分是否可以写入或编程 以及是否需要Flashlockpassword去接入 128位的AES密钥用于对加密的数据流进行解密和准确性鉴定 128位Flashlockpassword 用来控制安全锁位 Securitylock bit 和密钥的变更 只有该密码正确的情况下 才会允许后续动作 40 Microsemi安全设计 场景1 这是最简单的模式 无密钥模式 编程时数据流是未加密的明文 依靠自身固有的安全特性 基于Flash的非易失性去维护设计秘密 一旦编程完成 所有配置信息都保存在芯片内部 掉电不会消失 上电即可运行 无法从外部读取配置数据 黑客只能使用黑盒分析或注入技术去反向推测工程设计 可以通过提供和配置数据相同的数据位流来验证数据的正确性 如果正确会给出Pass指示 如果错误 只会报错 不会有更多错误信息来供推测 必须在安全的环境中进行 41 Microsemi安全设计 场景2 仅依靠128位Flashlock密码保证设计安全 首先 将编程数据以明文的方式烧些到芯片中 然后 设置Securitylock位 用来控制FPGA的重编程 最后 将128位Flashlock密码烧写入芯片 任何更新 包括程序重编程和SecurityLock位的变更 必须在给出正确Flashlock密码的情况下才能进行 变更的方式 1 128位Flashlock密码匹配 2 改变Securitylock位 使FPGA可以重编程 3 编程 4 设置Securitylock位禁止编程 5 调转到1 关键 128位Flashlock密码需要在安全可信的环境下设置 防止黑客窃取 42 Microsemi安全设计 场景3 安全性能最强 用户可以在不安全的地方进行编程 且可以有效防止合作工厂overbuilding和克隆行为 安全可信区 1 设置Securitylock位 允许对FPGA进行编程 2 将128位AES密钥写入芯片 用于对使用AES加密的数据流解密 3 将128位Flashlock密码写入芯片 以后对Securitylock位的任何改变 必须提供正确Flashlock密码 不安全风险区 4 器件 AES加密数据发送到合作工厂 5 工厂组装系统 使用加密的数据编程器件 工厂无法进行overbuilding和克隆 因为它无法获得AES密码 6 芯片内部对到来的加密数据流使用预存的密钥解密 然后验证 通过之后写入芯片 Flashlock密码工厂不需要知道 43 Microsemi安全设计 场景4 OTP一次性编程模式 芯片可以且只能被编程一次 1 先将程序烧写到芯片中 操作步骤 2 将Securitylock位设置为禁止重新编程模式 3 禁止Flashlock密码匹配特性 4 使能芯片加密 44 编程配置 有对程序自动更新需求时候 设计版本 会随程序一起烧些到器件中 该版本号在程序更新策略和程序自动更新相关的事件有着重要作用 硅签名 可以作为JTAG中的USERCODE使用 用户自己对其定义 在自动编程中非常重要 通过比较SPIFlash中image和器件中的版本号 来确定是否需要更新程序 编程过程中 如果电源出现问题如掉电或编程失败等 恢复后将会重新对其进行编程 45 安全配置2 使用缺省的密钥加密文件 该密钥是有芯片供应商预先放置在芯片上的 选择该选项时 用户自己的密钥 安全策略和Microsemi工厂测试模式接入级配置等将会被禁止 使能用户密钥 安全策略和工厂接入测试模式等 使用Flashlock UPK1保护UEK1 DPK1和加密策略 UPK2保护UEK2 永久保护UEK1 UPK2 UEK2 DPK 加密策略 工厂测试模式接入等 一旦设置 将不能被修改 46 安全策略管理 更新策略 设置Fabric ENVM的更新策略 以及后级保护策略 用户密钥集1是必须的 包含用户通行密钥 Flashlock密钥 和用户加密密钥 可选的 用户通行密钥UPK2只能保护用户加密密钥UEK2 可以通过该对话框指定你要现场更新的部件 以及相应参数 使用UPK Flashlock密钥来更新 UEK1或UEK2 如果钩选该选项 要求新的程序的版本号要比设置的版本号高才能更新 如不钩选 则不做要求 禁止接入如下编程接口 47 安全策略管理 调试策略 使能和设置DPK以及Debug选项 通过DPK对嵌入式系统调试接入进行控制 48 安全策略管理 密钥模式 配置Key模式 通过FlashLock UPK1来保护用户密钥加密模式 如果某个Keymode禁止 要设置该性能 必须要使用FlashBlock UPK1与该配置一起编程 如果2种密钥模式都禁止 器件将不能被更新 49 更新eNVM内容 通过该对话框可以更新eNVM内容 内容更新完成之后 不需要重新编译和布局布线 50 编程 只更新上次编程之后修改过的部分 选择要更新的部分 Fabric和eNVM 用来控制是否需要使用加密的方式编程 这是加密的总开关 即使别的地方配置了安全策略 如果此处不使能 安全策略也不会生效 生成程序代码 烧写程序到芯片 51 一键式体验 只需点击此按钮 可以完成综合 编译 布局布线 时序分析 生成编程数据等过程 大大简化人为操作步骤 提高了效率 52 主要内容 LiberoSoC概览LiberoSoC设计流程LiberoSoC工程样例LiberoSoCLicense管理 53 Lab说明 本实验用到FPGA资源如下 Fabricon chip25 50MRCoscillatorFabricCCC 时钟调理电路 本实验用到软件如下 MicrosemiLiberoSoCv11 4ModelSim10 3aSynplifyProMEG 2013 09MSP1FlashProv11 4USBDriversfortheFT232RUSBtoUARTIC 54 Step1 创建设计 本实验没有用到微处理器子系统 因此不钩选 点击ok 55 Step1 创建设计2 56 Step1 创建设计3 软件自动生成的模板 用户要在这里输入自己的程序代码 然后保存 可以使用该按钮检测是否有语法错误 用户自己的代码 可以在designHierachey下发现已经生成该文件 保存 57 Step1 创建设计4 SmartDesign画布会打开 然后需要向画布中添加部件并连接 58 Step1 创建设计5 将这些需要的部件选中 按着左键拖入画布 59 Step1 创建设计6 连接完成后的情况 点击生成 对于需要连接到IO的引脚 右键点击 选择PromotetoToplevel 确保看到该信息 说明成功生成 60 Step2 功能仿真1 如果顶层设计Fabric top不是黑体字 右键选择 选择SetasRoot 61 Step2 功能仿真2 这里是导入已经准备好的仿真文件 你也可以自己写testbench 62 Step2 功能仿真2 右键点击 设置时间 记得保存 63 Step2 功能仿真3 右键点击 选择想要添加的信号 64 Step3 导入物理约束文件 对IO进行约束的方式很多 本la
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建省闽侯第四中学2026届化学高二第一学期期末达标检测模拟试题含答案
- 【化学】湖北省襄阳市随州部分高中联考2024-2025学年高二下学期6月期末考试(解析版)
- 地震局年终总结课件
- 2025年国家电网巴西控股公司招聘面试题库附答案
- 2025年反诈试题及答案
- 农业技术推广与培训服务合同书
- 车辆变速器维修协议
- 2026届江西师大附中高三上化学期中教学质量检测试题含解析
- 2025年甘肃省张掖市公务员省考公共基础知识模拟题(附答案)
- 2026届四川雅安中学化学高二第一学期期中达标检测模拟试题含解析
- 2025年秋招:新媒体运营笔试题目及答案
- 工作总结及工作思路(输电运维班)
- 感染性休克的护理诊断与措施
- Unit 14 I remember meeting all of you in Grade 7(大单元教材分析)教学课件 人教新目标九年级英语全册
- 肺炎护理试题填空及答案
- 食材配送 售后服务方案
- 安全操作规程修订要求
- Fanuc系统宏程序教程
- 药物竹罐临床应用课件
- 2022年咸阳经开城市发展集团有限公司招聘笔试试题及答案解析
- 不等式的基本性质说课课件
评论
0/150
提交评论