目前,基于IP的EDA设计流程面临着两大挑战。首先,必须提供方法技术,用于测试包含IP组件设计的可靠性和质量;另一方面,必须保护IP供应商和设计者的知识产权。第三方IP核的使用确实可以提高芯片设计效率,但是供应商将IP核交付到客户的过程却并非直截了当。对于客户来说,为了测试验证IP核,它必须具备一定的可见性。可见性包括IP的仿真、结构性理解以及特性的详细描述。客户获得的可见度越高,就越容易将IP核集成到自己的FPGA设计中。而对于供应商来说,IP核具有一定的保护性,必须防止未经授权使用或复制IP核,而客户需求恰恰与之相矛盾。因此交付IP核的程序必须权衡这两种相互矛盾的需求。如果客户获取关于IP设计的信息过多,就可能出现未经授权而使用或复制该IP核,从而降低其价值,影响到设计者和供应商的利益。

目前有一些方法着重保护供应商的利益,如水印技术,就是将数字签名嵌入至IP组件中,没有供应商的许可,客户就无法去除数字签名,实例化IP元件就具有一定风险。水印技术的主要限制在于只能维护供应商组件实例化的合法性,却无法真正隐藏IP,因为通过元件体系的反向工程仍可以获取IP核的内部信息。

JavaCAD架构中采用了另一种有效安全的IP评估测试方法。设计者能实例化第三方的IP元件,同时可以结合自己设计的模块一起仿真。不同IP供应商提供的多个IP核也能够一同进行仿真,同时保证各个供应商及用户的知识产权不受侵害。IP用户与供应商可以协商仿真期间可以获取的信息量。JavaCAD是相当灵活的、以事件驱动的仿真工具,设计者可以在java程序中直接采用结构与行为级混合的编写方式。

JavaCAD架构

设计者可以针对不同抽象层次指定模块行为。目前JavaCAD支持门级、寄存器传输级,同时在行为级上也有一个实现工具。JavaCAD环境完全支持混合模式的系统描述,例如某些设计元件是RTL级语言描述的,而其余的是门级描述。设计模块可以是本地模块也可以是远程模块。本地模块在IP用户端的java虚拟机(JVM)上运行,而远程模块可以通过Internet访问。一般说来,远程模块均是在IP供应商的JavaCAD服务器上运行的。

图1中描述了JavaCAD的概念性体系结构。用户在JavaCAD客户端上完成所有的电路设计,包含供应者提供的IP元件。供应商可以通过JavaCAD服务器与客户端进行通信。设置仿真参数时,用户和供应商协商每个元件可以访问的功能与成本模块类型。有一些模块需要供应商提供在线帮助,当然这得花费额外费用。例如,不必得知封闭式IP元件的内部信息,用户就可以通过整个设计的故障模拟准确地评估易测性。

如果JavaCAD客户端的仿真工具需要了解IP核的实现过程时,JavaCAD客户端就可能要求供应者运行仿真子程序。JavaCAD底板借助客户端与服务器之间复杂的网络通信完全隐蔽起来。JavaCAD吸收了Java面向对象的特色,这样可以将程序高效地映射到现代数字系统中基于元件的设计原语。JavaCAD的关键特性是能够处理包含本地组件(用户所有的)与远程组件(IP供应者所有的)的系统设计。任何设计或仿真工具都能采用JavaCAD协议处理远程组件。在JavaCAD中系统级硬件描述语言(HDL)则用Java语言编写。

JavaCAD架构实际上就是java程序包的集合,必须由用户与供应商同时使用,缺一不可。JavaCAD底板是用java语言编写的程序包,通常称为JavaCAD基本包(JFP),可以整合到任何设计环境中。IP提供者、用户都必须使用JFP。元件和设计都是基本包的子集。设计规范要求实例化设计组件的JavaCAD类。连接器将本地模块与远程模块连接在一起,确保模块之间的事件正常运转。定制的连接器能执行模块之间的通信原语。

执行远程模块是以Java远程方法(RMI)为基础,RMI是类似于CORBO的协议,RMI保留了Java对象模块的原语,从而使分布的对象更加方便执行并应用。JavaCAD中采用RMI的主要特性是:1)不用借助二进制代码就能在本地创建远程类的实例;2)调用远程类的方法,并适当处理参数和返回值;3)保证客户端-服务器端通信的安全性。

并非所有的远程模块都是设计者需要运行的,通常执行的都是包含IP相关信息的方法。IP核的提供者需要设计一个专门的模块,用于明确说明哪些方法是可以让客户下载的,哪些方法可以通过Internet网络访问。

JavaCAD是事件驱动的仿真工具,支持多种事件类型,由调度程序进行调度执行。多个调度程序可以同时运行,从而JavaCAD也支持同一设计的协同仿真。

安全性与IP保护

安全性是JavaCAD最重要的议题。客户端与服务器端相互作用的紧密性引发了一些问题,有别于传统的基于Internet的客户端—服务器端方式的问题。当前情况下,客户与提供商还没有达到完全信任对方的程度,同时客户端与服务器端的通信必须防止第三方的侵入,这就是保护IP核的目的。JavaCAD采取RMI功能及增强安全性的java模块解决这些问题。

针对第三方的侵入,RMI协议能保证IP用户与提供商之间的安全通信。协议中应用一个自定义的通信端口,规定了IP客户端与服务器端都认可的安全级别。

从提供商的角度来考虑,JaveCAD将远程模块设计分成三部分:公共部分、RMI残余部分、私有部分。IP用户可以下载公共部分并集成到自己的设计中。公共部分中包含某些组件中不受保护的方法的可下载代码。用户必须下载RMI残余部分,并通过残余部分调用远程方法。IP用户需要通过RMI残余部分才能调用私有部分的方法,私有部分一直位于提供者的服务器上,其代码不会转移到客户端。

从用户的角度来考虑,JavaCAD中为了实现对客户端的保护措施,在RMI中采用了一系列有效可行的参数配置。将每个模块都和连接器绑定在一起,这种方式可以使得JavaCAD仿真工具能完全防止传播设计中实例化的其他模块的敏感信息,包括属性及其相互联系。执行某些仿真时,远程IP模块可能需要其端口的一些信息,此时JavaCAD通过RMI将这些信息传送到客户端。

使用者从提供商处下载得到的公共部分和RMI残余部分的类时,JavaCAD将这些类标上“非可信赖”的标记,因此用户端无法执行这些类。例如,由这些类运行的方法不能读取或删除用户的文件系统。标准的RMI安全管理器使得各种方法只能通过供应商的服务器进行通信。

评估测试

使用JavaCAD

服务器端

为了使用户能获取并测试供应商的IP元件,提供者首先应安装一个WEB服务器,包含一些描述IP元件主要功能的文件及JAR文件的链接,用于下载IP核公共部分及RMI残余部分的类。同时还需要设置RMI注册服务器及RMI后台程序。元件中受保护的IP部分在该服务器上处于活动状态,当客户端提出仿真、评估、验证等请求时,此服务器需做出响应。

客户端

设计者的电路结构是相互连接的模块,这些模块可以是本地模块,也可以是远程IP提供商处的元件。仿真验证阶段,通过JavaCAD架构访问远程IP元件。

通常,设计者首先访问各个IP提供商的Web服务器,获取不同IP元件的信息,以选择符合自己设计目标的元件。然后下载JAR格式的公共部分及RMI残余部分文件,并根据设计要求对这些元件进行实例化。客户端启动仿真设置后,JavaCAD架构在客户端与服务器之间建立网络通信链接,保证维护IP提供商及用户各自的知识产权。

责任编辑:gt

基于java的cad_基于JavaCAD架构的安全性与IP保护研究相关推荐

  1. 基于java的cad_基于JavaCAD架构的IP知识产权保护

    随着现场可编程门阵列(FPGA)集成度越来越高,在大型FPGA系统设计中应用第三方IP核也越来越广泛 (IP核是指集成电路设计中所采用的具有独立知识产权的可复用的电路功能模块).多数IP供应商提供基于 ...

  2. 基于java智能家居,基于JAVA的智能家居控制系统的设计(信息控制端的设计)-论文二稿...

    基于JAVA的智能家居控制系统的设计(信息控制端的设计)-论文二稿 PINGDINGSHAN UNIVERSITY毕业论文 (设计 )题 目:基于 JAVA 的智能家居控制系 统的设计(信息控制端的设 ...

  3. 基于Java技术的大型网站架构设计方案

    架构设计漫长路 最佳实践我来数 千万并发没问题 要点首推数据库 SQL语句要优化 索引创建有艺术 三大范式不可废 冗余字段难维护 查询过多怎么办 缓存使用是本固 频繁访问不用怕 每秒数千扛得住 更新插 ...

  4. 实验一基于 的词法分析实验_[源码和文档分享]基于JAVA实现的基于DFA的词法分析程序...

    1 实验目的 根据自己确定的正规表达式,编写.调试一个词法分析程序,对语句进行词法分析,从而更好理解词法分析原理. 2 内容描述 此程序用java编写.程序读取一个文本文件,并对其中的内容进行词法分析 ...

  5. 基于Java+JSP+MySQL基于SSM的在线投票系统-计算机毕业设计

    项目介绍 随着社会的发展,人们在处理一些问题的时候不同意见越来越多,这源于人们对思想的解放和对社会的认识.所以在处理同一问题上,为了征求不同人的意见在线投票系统诞生了. 基于SSM的在线投票系统以钦州 ...

  6. 基于Java+JSP+MySQL基于SSM的医院挂号就诊系统——计算机毕业设计

    随着计算机科技的快速发展,很多地方都实现了自动化管理,医院也不例外.在大多数医院,无论是挂号处,还是取药的窗口,都会看到有很长的队伍,很显然这样会让患者就医的过程中浪费太多的时间.其次,对于那些年长的 ...

  7. 基于Java+JSP+MySQL基于SSM的医院挂号就诊系统

    随着计算机科技的快速发展,很多地方都实现了自动化管理,医院也不例外.在大多数医院,无论是挂号处,还是取药的窗口,都会看到有很长的队伍,很显然这样会让患者就医的过程中浪费太多的时间.其次,对于那些年长的 ...

  8. 基于java斗地主_基于Java的网络版斗地主

    [实例简介] 支持网络三人斗地主.有一个服务器端,同时运行三个客户端并且连接服务器端的IP就可以联机游戏了. [实例截图] [核心代码] Game └── Game ├── Client │   ├─ ...

  9. 基于java的excel_基于Java的Excel文件操作

    电脑知识与技术 本栏目责任编辑: 王力计算机教育 1 引言在 Web 应用日益盛行的今天, 通过 Web 来操作 Excel 文件的需求越来越强烈, 目前较为流行的操作是在 JSP 或 Servlet ...

  10. 基于java斗地主_基于Java----斗地主游戏的开发

    //这是无序的手牌 用到ArrayList集合(无排序功能) public class PokerDemo { public static void main(String[] args) { //创 ...

最新文章

  1. bzoj1003 物流运输
  2. TensorFlow安装-windows系统
  3. SQL MIN() 函数
  4. mysql动态代理_超全MyBatis动态代理详解(绝对干货)
  5. Qt学习笔记-Qt中OpenGL的使用
  6. Hi3519V101开发环境搭建(一)
  7. Unity常用工具类
  8. 将空闲空间合并到现有分区时出现错误: 检测到下列文件系统错误,分区容量未做调整, 无效的的文件记录
  9. Codeforces 486D Valid Sets (树型DP)
  10. 【校园电子书城】测试及部署
  11. winform等待窗口之最简单使用线程实现loading
  12. java坦克大战图片素材包_坦克大战图片素材
  13. visio安装报错 1:1935 2:{XXXXXXXX...
  14. 计算机显卡故障与排除,电脑显卡常见故障排除方法
  15. 利用python和GUI实现照片或证件照迅速更换背景底色,还可以自定义背景底色
  16. 数据挖掘实例(航空公司客户价值分析)
  17. HTML代码 可在线运行查看效果的HTML在线编辑器
  18. Linux网络之curl命令详解
  19. 中兴OLT告警日志服务器,中兴olt_中兴olt c300用户手册_中兴olt掉线(4)
  20. 【视频课】8大真实金融工程案例,20多小时Python进阶课推荐给你学习!

热门文章

  1. signature=04e0c5d9acfe5aef92fda679f27fba71,恶意软件分析 URL链接扫描 免费在线病毒分析平台 | 魔盾安全分析...
  2. 购物直播APP系统+短视频系统开发方案
  3. 微信群管理机器人免费、破解版
  4. 电阻屏和电容屏的区别
  5. Markdown使用手册
  6. 设计检验轧辊的虚拟现实的集成软件
  7. 大工《画法几何与机械制图》课程设计大作业离线作业
  8. 基于java的户籍管理系统的设计与实现
  9. UML统一建模语言第3章 UML建模工具简介课后习题
  10. 地面控制点的作用_地下室人防预留预埋施工要点及控制点