高安全性OTP存储器控制系统设计
课程名称:FPGA系统设计
实验题目:高安全性OTP存储器控制系统设计
课程简要信息
FPGA系统设计,24学时,微电子工程,2015级
实验内容与任务(限500字)
项目需要完成的任务(如需要观察的现象,分析某种现象的成因、需要解决的问题等);是否设计有不同层次的任务。
-
根据OTP存储器的基本原理,设计一个能够稳定操作OTP存储器的控制系统,并在FPGA开发板上实现;(--OTP存储器正常操作时序控制设计)
-
根据OTP存储器功能扩展的可行性及实用性,在OTP存储器的基本读写功能之外,还实现了OTP存储器的复位、睡眠等控制功能;(--OTP存储器扩展操作时序控制设计)
-
通过CPU对OTP存储器配置不同操作指令,即可产生操作OTP存储器的接口时序,如在OTP存储控制系统中增加特定信息加密功能,即可对如密钥信息等关键数据进行加密,从而有效地保证了用户关键信息的安全性;(--OTP存储控制系统高级功能安全算法设计)
-
提供一种解决OTP存储器在编程过程中出错的处理方法,从而可大大提高OTP存储器的可靠性。该处理方法主要是:对OTP存储器编程时采用地址容错处理,并在同一个编程地址上进行多次施加编程脉冲电压,从而确保数据正确编程至OTP存储器的对应区域,有效地解决了OTP存储器在编程过程中易出错的问题,很大程度提升了OTP存储器的良率,大大增强了访问OTP存储器的可靠性;(--OTP存储控制系统高可靠性设计策略)
-
外部输入的控制信号(如rst_n、w_en、r_en等)由FPGA开发板上的按键实现、OTP存储器IP由RAM来实现,同时本实验提供OTP存储器操作地址生成器,根据读取数据的结果来判断数据的写入是否有效。(--OTP存储器控制系统实现验证策略)
实验过程及要求(限300字) {#实验过程及要求限300字}
如对学生在实验过程中在需求分析、资料查询、自学预习、思考讨论、方法设计、进程规划、软件仿真、平台构建、器件选择、表格设计、现象观察、数据测试、问题分析、总结报告、验收答辩、演讲交流等各方面的要求。
-
学习了解存储器种类、存储器的应用领域、存储器在出厂之前如何进行良率测试、存储器的读写原理、外部输入信号如何同步;
-
学习并分析OTP存储器的工作原理,OTP存储器的基本结构,操作OTP存储器的基本时序,包括编程时序、读取时序、复位时序、睡眠时序等;
-
调研资料,分组进行架构设计及OTP存储控制系统的算法策略设计,然后对每个小组进行模块划分,并对小组成员进行分工;
-
根据OTP存储控制系统的接口时序,设计出操作OTP存储器的命令种类、命令译码模块、OTP时序产生模块;
-
设计OTP存储器的安全操作算法,解决OTP存储器编程时易出错问题,从而实现高可靠性OTP存储控制系统;
-
基于Linux系统下的数字IC设计平台完成OTP存储器控制系统的RTL代码设计及仿真测试,并由DE2 FPGA开发板进行验证;
-
分小组撰写设计文档,并采用PPT的形式对系统定义到系统验证的全过程进行展示,增强交流及锻炼演讲能力。
相关知识及背景(限150字)
项目涉及的知识方法、实践技能、应用背景、工程案例。
这是一个运用数字电路技术、集成电路平台技术、FPGA技术来解决实际工程问题的典型案例,需要运用到Verilog HDL硬件描述语言、数字集成电路设计、状态机设计、OTP存储器的读写原理、非易失性存储器的操作原理等相关知识点。高性能的OTP存储控制系统在当今集成电路芯片中扮演着极为重要的角色,随着我国军事、航空航天技术的发展需要,对电子系统的稳定性和安全性的要求越来越高,而电子系统是很多卫星、火箭、太空飞船、航天飞机等的关键系统之一,控制着卫星、飞船等的运行。所以太空技术的发展,需要大量的存储器,并且要求这些存储器具有良好的抗干扰性能,以此来保证太空中电子系统的安全性,以及稳定的运行能力。OTP型存储器具有优秀的抗干扰性能,因此在我国军事、航空航天及商用安全领域的应用越来越广。该工程案例解决了存储器领域的难点技术,具备很大的实用价值。
教学目标与目的(限100字)
如学习、运用知识、技术、方法;培养、提升能力、素质。
在较为完整的工程项目实现过程中引导学生了解数字集成电路的设计流程、FPGA上板的流程,熟悉Verilog HDL编程开发,学习状态机设计、同步电路、存储器的读写原理等知识。具备当今热点存储器领域的核心技术,与实际工程项目接轨,提升学生集成电路设计专业知识及工程实践能力,通过分组完成项目的方式增强学生的团队意识、沟通能力。
教学设计与引导
如预习要求及检查;课堂知识讲解、方法引导、背景解释;实验中的方法指导,问题设置、思路引导等。研讨主题、观察节点、验收重点、质询问题的设计等。
课程导入:
随着电子信息社会的不断发展,数据存储需求量呈现爆炸式的增长。与MASK(掩膜与Flash(闪存)存储器相比,一次可编程(OTP, One Time Programmable)存储器兼具二者的优势,既有一定的灵活性,成本又不太高。也因此在嵌入式系统或者芯片内部,作为存储一次编程后不可更改的信息或者对加密芯片密钥信息的存储起着不可替代的作用。OTP存储器非常适用于对特定应用数据的一次可编程存储,在一个片上系统(SOC, System On Chip)系统中,需要存储很多特定一次性信息,比如芯片序列号、接口封闭信息以及有关芯片安全的秘钥信息等,这些信息在整个系统测试芯片中编程进去后不允许客户去改变,且这些信息不需要擦除,即一次编程后不可修改。采用MASK掩膜做成光刻版,灵活性太差,采用Flash闪存成本又太高。因此,采用OTP存储器存储这类特定信息,可以最大程度减少硬件及研发开销。加之,随着《国家集成电路产业发展推进纲要(2015-2025)》首个主攻芯片是存储芯片,存储芯片领域已经上升至国家的发展战略。因此,设计一种高性能、高安全性的OTP存储器系统,满足SOC系统及军工领域、航天领域、以及人工智能等高端复杂场合迫在眉睫。
本实验的过程是一个完整的工程实践项目,在集成电路存储器领域中具备广泛的应用。需要经历学习研究、方案分析、架构设计、系统设计、模块设计、软件仿真、上板测试、设计总结等过程。
课程讲解:
-
OTP存储器件原理、操作时序包括编程、读取、复位、睡眠时序分析讲解;了解存储器的类型以及它们之间的差异,学习使用模块化思维来完成系统的设计。
-
OTP一次可编程存储器控制系统整体架构讲解及设计思路引导;
-
数字IC集成电路设计平台介绍;
-
OTP一次可编程存储器控制系统模块划分及重点模块架构,方法,策略知识讲解;
-
OTP一次可编程存储器控制系统可靠性算法讲解,采用创新的地址冗余处理算法(本方案申请了相关发明及实用专利(已授权))讲解及引导;
-
OTP一次可编程存储器控制系统安全性介绍及安全算法策略讲解及引导;
-
组织学生以项目演讲、答辩、评讲的形式进行交流,对每个阶段的设计都做PPT演讲,了解不同解决方案及其特点,拓宽知识面,提高讲解能力。
课程对学生学习及知识储备的要求:
-
学习在数字电路中使用两级触发器的方式对输入信号进行同步,通过对存储器全写1、全写0并读取比较,来判断存储器是否有损坏。
-
实验推荐使用模块化实现各部分功能,也鼓励学生更改推荐的系统架构,在原有的系统架构基础上进行改良和创新。
-
分组做PPT汇报,详细地介绍译码控制电路和读写控制电路的工作原理。
-
在上板验证过程中要考虑到多种可能出现的情况,通过更改设计,提高系统的可靠性。
在设计中,要注意学生设计的规范性;如系统结构与模块构成,模块间的接口连接;Verilog HDL代码风格严格把控,包括格式、工程写法以及时序与数字分开写等;在调试中,要分模块来进行调试,模块功能完成之后,再进行系统调试。
课程对学生对该工程设计过程中研讨环节:
-
要求学生制作高质量的项目PPT,并在项目的每个节点做PPT演示(项目节点包括:OTP一次可编程存储器原理及操作时序分析、OTP一次可编程存储器控制器架构设计、OTP一次可编程存储器控制器模块划分及模块设计、OTP一次可编程存储器控制器模块仿真输出、OTP一次可编程存储器控制器系统仿真)。
-
对于上述项目工程的节点,要求学生输出相应的设计文档,从系统定义到系统仿真、上板验证的详细文档输出,并记录解决的问题和取得的进步,开会共同研究讨论设计过程中的难点,老师根据这些难点给学生分析、并引导解决方案,锻炼学生实际集成电路设计项目中真实的设计思路、设计流程及解决问题的能力,提高学生工程动手能力。
实验原理及方案
实验的基本原理、完成实验任务的思路方法,可能采用的方法、技术、电路、器件。
- 实验的基本原理
由于OTP存储器对一些特定信息的存储及成本不高的特点,在存储器领域受到越来越广泛的应用。硬件电路基于根据不同的指令提供不同的时序电路驱动OTP存储器,实现对OTP存储器件的访问。OTP存储器件由于自身的因素,在读取和编程过程中很容易出错,如何在对OTP编程和读取中降低出错率,提高OTP存储器的可靠性,成为OTP存储器领域的技术难点。其次,随着安全芯片愈来愈广泛地应用,OTP存储器实现对密钥信息的编程后,不希望使用者将其密钥信息读出,因此就需要在读取OTP密钥信息时对其做特殊处理,如何做特殊处理从而保证存入OTP的密钥信息不被泄密,保证芯片安全技术也是当前访问OTP存储器技术所欠缺的方案。
- 系统结构

- 实现方案
本项目的OTP存储器控制系统有两种模式:测试模式、读写模式。
当模式控制信号mode = 0时,测试模块工作,读写模块不工作。测试模块内部产生时序对OTP IP进行读取操作。首先读取OTP IP内部存储的数据是否全为0,如果不全为0,则OTP存在缺陷,test_error置为高;全为0,则开始对OTP IP进行全写1,写1完成后读取OTP内部数据是否全为1,如果不全为1,则OTP存在缺陷,test_error置为高,全为1,则测试完成,test_done置为高。
当模式控制信号mode = 1时,读写模块工作,测试模块不工作。外部的信号经过同步之后输入到总译码器,总译码器模块把输入的信号译码后发送给读写模块,读写模块产生读时序或者写时序读取OTP内部数据或把数据编程入OTP。
提供一种访问OTP存储器的方案,使其可以灵活配置不同指令访问OTP存储器并产生对应指令的访问OTP存储器接口时序,完成对OTP存储器的编程、读取出、复位、唤醒、睡眠等操作。通过配置不同操作指令,并产生对应指令的访问OTP存储器接口时序。
对OTP存储器编程操作中加入算法提高访问OTP存储器的可靠性,加入安全算法,提高存储至OTP存储器数据的安全性。
- 采用的方法技术
本项目OTP一次可编程存储器控制系统,采用配置命令的方式,实现对OTP存储器编程、读取、复位等命令的操作。对特定信息密钥信息在OTP存储器件外部进行严格加密处理,从而有效地保证了芯片的安全性。提供一种解决OTP在编程过程中出错的问题方法,提高OTP存储器件的可靠性。对OTP编程采用地址容错处理解决了OTP在编程过程中易出错的问题,保证数据的正确性,很大程度提高了OTP存储器良率,大大增强了访问OTP存储器件的可靠性。在对OTP存储器密钥信息进行读取时,本系统针对密钥信息的特殊要求,严格对密钥信息进行保密,保证芯片安全,采取加扰电路对从OTP存储器中读取的数据进行加扰处理,使得用户所见的密钥数据不是真正编程至OTP存储器的数据,从而对密钥信息安全进行保护。最终进行系统仿真及上板验证。
教学实施进程 {#教学实施进程}
简要介绍实验实施进程的各个环节(如任务安排、预习自学、现场教学、分组研讨、现场操作、结果验收、总结演讲、报告批改等)中,教学设计的思路、目的,教师、学生各自需要完成的工作任务,需要关注的重点与细节。
预习自学:
自学Verilog HDL硬件描述语言,数字集成电路的实现流程,状态机设计,OTP存储器的读写原理,非易失性存储器的操作时序(编程、读取、复位、睡眠时序)、数字集成电路基础知识,如FIFO,RAM等相关知识和技术方法。
现场教学--任务安排:
教师第一次课程放映集成电路实现视频:一颗芯片是如何诞生的,并做PPT讲解存储器作为集成电路的重要环节是如何在生活中、军事上广泛应用的。引起学生的关注和兴趣。并简单介绍OTP存储器是什么及应用背景,布置相关调研任务及自学知识任务。
现场教学--学生PPT演讲:
把学生分为四个小组,每个小组在上课之前完成一个PPT的制作。第一小组主题:什么是OTP存储器?市场上常见的存储器之间有什么异同之处。第二小组主题:存储器在出厂之前如何确保存储器内部没有制造缺陷?第三小组主题:存储器是如何进行读写的?第四小组主题:外部输入的信号如何同步?
现场教学--教师讲解本项目:
OTP存储器件原理、操作时序包括编程、读取、复位、睡眠时序分析讲解;了解存储器的类型以及它们之间的差异,学习使用模块化思维来完成系统的设计; 数字IC集成电路设计平台介绍;OTP一次可编程存储器控制系统整体架构讲解及设计思路引导。
现场教学--学生分组PPT演讲:
学生分组讲解OTP一次可编程存储器每个小组的架构设计及系统策略。
现场教学--教师讲解本项目:
OTP一次可编程存储器控制系统模块划分及重点模块架构,方法,策略知识讲解。
现场教学--学生分组PPT演讲:
四个小组分别进行PPT的演讲,演讲完成后老师做进一步总结。并指出存在的问题,课后进行修改。做OTP存储控制系统的系统性阐述,各个模块之间的关系和实现原理。
现场教学--教师讲解本项目:
OTP一次可编程存储器控制系统可靠性算法讲解,采用创新的地址冗余处理算法(本方案申请了相关发明及实用专利(已授权))讲解及引导;
现场教学--教师讲解本项目:
OTP一次可编程存储器控制系统安全性介绍及安全算法策略讲解及引导;
现场教学--学生分组PPT演讲:
OTP一次可编程存储器控制系统模块设计及部分模块仿真,以及提出遇到的问题,解决或者没解决的问题演示。
现场教学--师生共同讨论、交流:
根据前面阶段设计的问题进行难题答疑、讨论,教师帮助分析和引导。给出策略和部分帮助,开拓学生视野及一步一步实现项目功能。
现场教学--学生分组PPT演讲:
分组答辩,针对整个OTP一次可编程存储器控制系统从定义到系统仿真整个项目演示与讲解,老师针对设计的每个细节进行现场提问,构造学生和老师提问、交流、讨论的氛围,加深学生沟通能力及现场应变能力;评选出最优秀的小组并指导参加集成电路竞赛及专利撰写,将学生研究进行成果转化。
提交实验设计书,并对每个环节进行批改打分,打分更加注重学生的思考能力和创新能力。
本课程旨在开阔同学们视野,提升同学们对数字集成电路设计的浓厚兴趣,塑造实际工程项目研发的流程,因此从OTP一次可编程存储器控制系统的功能定义到FPGA上板验证,
实验报告要求
需要学生在实验报告中反映的工作(如:实验需求分析、实现方案论证、理论推导计算、设计仿真分析、电路参数选择、实验过程设计、数据测量记录、数据处理分析、实验结果总结等等)
实验报告需要反映以下工作:
-
课前预习内容
-
背景分析及目前研究前景分析
-
需求分析及指标分析设计
-
OTP一次可编程存储器控制系统设计定义(功能定义、架构定义)
-
存储控制系统整体架构分析及设计
-
各个模块原理分析及设计
-
模块软件仿真及结果
-
FPGA上板结果
-
实验结果总结
考核要求与方法(限300字)
考核的节点、时间、标准及考核方法。
-
PPT演讲:内容是否丰富,讲解是否清晰,PPT制作情况。(10分)
-
实验质量:各个模块功能是否完善。(20分)
-
团队协作能力:团队分工情况、团队成员完成任务及交流情况。(5分)
-
自主创新:设计的创新性,自主思考与独立实践能力。(15分)
-
模块代码设计:代码风格、代码质量。(20分)
-
实验数据:模块仿真数据、系统仿真数据。(10分)
-
实验设计报告:实验报告的规范性与完整性。(30分)
项目特色或创新(可空缺,限150字)
项目的特色在于:
-
实现自主可控的高可靠性OTP一次可编程存储器控制系统,具备存储器领域的核心技术,对学生工程系有着开阔视野和提高工程实践能力的作用。
-
通过配置的指令产生对应指令的访问OTP存储器接口时序,提高访问OTP存储器的灵活性,具备很高的可移植性;
-
该基于FPGA的OTP存储器控制系统可以实现芯片的特定信息存储,包括:芯片序列号、接口封闭信息以及有关芯片安全的秘钥信息等;
-
针对集成电路芯片安全,基于FPGA的OTP存储器控制系统对特定信息密钥信息在OTP存储器件外部进行严格加密处理,从而有效地保证了芯片的安全性;
-
OTP编程数据易出错,为了解决了OTP在编程中易出错的问题,保证了数据的正确性;
-
基于FPGA的OTP存储器控制系统设计提出了一种对OTP存储器地址冗余处理的技术方案,很大程度上提高了OTP存储器良率,大大增强了访问OTP存储器件的可靠性。
-
本OTP存储器控制系统在OTP存储器领域对OTP操作实现具备很强的市场价值,并且具有很强的可移植性。
综上所述,本项目背景背景具备很广泛的应用性、工程性、知识应用的综合性、实现方法的多样性及专业性。
参赛选手信息表
| 案例提供单位 | 成都信息工程大学 | 相关专业 | 集成电路设计 | |||
| 设计者姓名 | 杨燕 | 电子邮箱 | yangyan1@cuit.edu.cn | |||
| 移动电话 | 13219038858 | 通讯地址 (含邮编) |
四川省成都市学府路一段24号成都信息工程大学通信工程学院,610225 | |||
| 设计者姓名 | 李英祥 | 电子邮箱 | lyingxiang@cuit.edu.cn | |||
| 移动电话 | 13980668969 | 通讯地址 (含邮编) |
四川省成都市学府路一段24号成都信息工程大学通信工程学院,610225 | |||
| 设计者姓名 | 马文英 | 电子邮箱 | mwy@cuit.edu.cn | |||
| 移动电话 | 18190752627 | 通讯地址 (含邮编) |
四川省成都市学府路一段24号成都信息工程大学通信工程学院,610225 | |||
| 相关x课程名称 | FPGA系统设计 | 学生年级 | 2015级 | 学时(课内+课外) | 24(16+8) | |
支撑 条件 |
仪器设备 | DE2 FPGA开发板套件 | ||||
| 软件工具 | Quartus II, Modelsim, VCS, Verdi, Vivado | |||||
| 主要器件 | ||||||