CN105760563A - 可视化集成电路设计架构 - Google Patents
可视化集成电路设计架构 Download PDFInfo
- Publication number
- CN105760563A CN105760563A CN201410791801.4A CN201410791801A CN105760563A CN 105760563 A CN105760563 A CN 105760563A CN 201410791801 A CN201410791801 A CN 201410791801A CN 105760563 A CN105760563 A CN 105760563A
- Authority
- CN
- China
- Prior art keywords
- code
- design
- module
- algorithm
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供可视化集成电路设计架构,包括界面设计单元、算法设计单元以及融合单元:所述界面设计单元内封装模块、引脚、连接线;算法设计单元设置代码编辑器,用于输入、编辑程序代码;融合单元生成界面设计单元的电路模块、引脚、连接线的代码,并与算法设计单元的输入代码融合形成具有完整的代码的模型。本发明将集成电路设计的界面设计与算法设计相互融合,实现界面设计与算法设计优势互补,劣势相互抵消,极大提高了集成电路设计的效率,降低了错误率,使设计更便捷、高效。
Description
技术领域
本发明涉及集成电路设计技术领域,具体地说,涉及一种可视化集成电路设计架构及方法。
背景技术
目前,很多集成电路设计工具如Xilinx的ISE,Altera的Quartus,MentorGraphics的Modelsim等,其主流思想是面向工艺的设计。在设计过程中,要么采用界面设计,要么采用写代码的方式进行设计。
界面设计主要基于市场上常见的元器件进行组合连线设计,界面的优点是设计非常直观,但是灵活性不够。如果在界面中新增加一个不存在的设备器件,往往需要写代码、打包、更新到器件库、从器件库查找并使用等过程,一旦元器件设计有误,就会需要重新回到代码修改并重新打包。已经在设计中存在的器件需要重新更替。流程繁复浪费了设计师大量的时间,尤其是源代码不慎丢失,将会直接导致模块无法修改,设计师需要重新来过。
代码设计是目前非常流行的设计方式,无论是元器件接口定义,模块例化还是功能实现,全部用Verilog或者VHDL等语言设计实现。算法设计的优点是灵活,想写什么器件就写什么器件,缺陷是不够直观。工程师需要读完大段代码才能了解其功能和结构信息,同时在撰写例化的时候,需要依据代码进行编写例化,要反复对照和查看接口名称和数据宽度等信息,防止出错。例化的代码也是手写为主。
界面设计方式和代码设计方式各成一体,相互之间交叉很少。模块化设计体现不够完美,改进与完善困难程度高;基于界面的设计在生成代码的过程中,掺杂了很多冗余信号,在出错后返回查看代码,增加了很多冗余信号的障碍。
发明内容
为了解决界面设计与代码设计各自的缺点,融合其优点,本发明提出一种可视化集成电路设计架构及方法,其具体的技术方案如下:
可视化集成电路设计架构,包括界面设计单元、算法设计单元以及融合单元:
所述界面设计单元内封装模块、引脚、连接线,用于进行可视化拖拽操作设计;
所述算法设计单元设置代码编辑器,用于输入、编辑程序代码;
融合单元生成界面设计单元的电路模块、引脚、连接线的代码,并与算法设计单元的输入代码融合形成具有完整的代码的模型。
其中,模块设置若干可视化、可编辑的属性。
基于权利要求1所述的可视化集成电路设计架构的代码生成方法,包括以下步骤:
A:在界面设计单元新建若干模块,并设置模块的属性,根据每个模块的属性生成相应的声明代码;
B:在算法设计单元输入算法程序代码,将模块中手动输入的代码部分,放在声明代码中相应的位置;
C:编辑模块的引脚的属性,不同模块根据相互关系由连接线连接;
D:对模块例化进行声明,根据模块的属性和模块上每个引脚连接的信息进行例化模块代码的自动生成;
E:将代码段每行进行编号,结构层的行编号+1之后成为代码层的起始编号;
F:保存并运行,执行代码错误检查对错误代码行标记并修改,直至将错误代码全部修改正确。
进一步地,所述集成电路设计架构中采用的程序代码为基于Verilog、VHDL或者SystemC语言的代码。
本发明所提供的可视化集成电路设计架构及方法,具有以下优点:
将集成电路设计的界面设计与算法设计相互融合,每个设计都分成两个部分,通过用两个不同的窗体实现,并可以通过快速切换的方式进行切换。切换的同时,分析结构设计的引脚和引脚属性来生成相应的代码段,实现界面设计与算法设计优势互补,劣势相互抵消,极大提高了集成电路设计的效率,降低了错误率,使设计更便捷、高效。
附图说明
图1可视化集成电路设计架构示意图;
图2-5为本发明实施例1中操作界面示意图。
具体实施方式
下面结合附图及实施例对本发明可视化集成电路设计架构及方法作进一步详细的说明。
为了解决传统的集成电路设计工具的复杂难用,算法设计与原理图设计独立运行,没有有效的互补以及界面设计转算法设计的时候掺杂大量无用信号等问题,本发明采用了一种面向对象的分层设计方式,将设计简化成最简单的几个基本元素,每个元素拥有相应的属性,通过代码与界面设计相互配合等方式,实现集成电路的简化和可视化设计。具体为:可视化集成电路设计架构,包括界面设计单元、算法设计单元以及融合单元:所述界面设计单元内封装电路模块、引脚、连接线,用于进行可视化拖拽操作设计;所述算法设计单元设置代码编辑器,用于输入、编辑程序代码;融合单元生成界面设计单元的电路模块、引脚、连接线的源代码,并与算法设计单元的代码融合形成具有完整的代码的模型。
在操作层面,多种视窗的方式,在图形视窗中建立模块,该模块拥有相应的属性,根据每个模块的外观属性进行绘图布局,在属性窗口中根据每个模块的可配置属性进行展示,并根据受保护的特点决定哪部分属性可以修改,用户修改完后直接反馈到模块中,对模块的数据信息进行修改,并更新所有视窗中的显示信息。为了解决对哪个元素进行修改,设定鼠标选中的当前模块的信息展示在属性编辑器里面。被选中的模块才是可以更改的模块。
界面可视化集成电路设计架构的代码生成方法,包括以下步骤:A:根据每个模块的属性生成相应的声明代码,包括对多余信号的处理和数据宽度的处理,比如位宽为8的引脚,用户可以输入8,也可以输入7:0,在代码生成的时候自动进行正确的转换;B:将模块中手动输入的代码部分,放在声明代码中相应的位置;C:对模块例化进行声明,根据模块的属性和模块上每个引脚连接的信息进行例化模块代码的自动生成。D:将代码段每行进行编号,结构层的行编号+1之后成为代码层的起始编号。其中,步骤C中,对于例化中的引脚直接连接顶层模块的引脚的,在代码生成中直接找出对应连接的引脚并例化;对于两个子模块引脚相连的,对该连接线的声明一个中间变量,然后例化双方都连接该连接线。
实施例1,逻辑门电路设计:
下面以逻辑门电路设计为例,介绍本发明的可视化集成电路设计方法。
逻辑门是数字电路的基础,常见的数字电路逻辑门有与门,或门,非门,与非门,或非门和异或门等。本次实验重点讨论其中的几个逻辑门用Verilog在Robei软件中的设计和仿真。以常见的与门为例,只有当两个输入a、b同时为1的时候,输出才是1,其他情况下均为0。按以下步骤进行:
一、从界面设计单元新建一个模块,按以下内容编辑属性:
(1)ModuleName:模块名称,这里我们想创建一个叫andgate的模块,输入andgate。
(2)ModuleType:模块类型。从3种类型,“module”,“testbench”和“constrain”中选择“module”。
(3)Language:设计语言,这里只有一种设计语言Verilog。
(4)InputPorts:输入引脚的数目,我们设计的模块有2个输入引脚a和b,所以输入2。
(5)OutputPorts:输出引脚的数目,我们设计的模块只有1个输出引脚y,所以输入1。
(6)InoutPorts:既可以作为输入又可以作为输出引脚的数目,我们设计的模块没有用到该类型引脚,所以输入0。
参数填写完成后点击“OK”按钮,生成一个新的模块,名字就是andgate,如图2所示:
二、修改模型。在自动生成的界面图上用鼠标选中输入引脚“p0”,右侧的属性编辑栏就会展示该引脚相对应的属性如图1-4所示。每条属性有其对应的名称。为了跟实验设计名称一致,我们把p0的名称改成a,p1的名称改成b,p2的名称改成y。修改的方法是在属性编辑器Name栏里面修改并点回车。修改完成后如图3所示。
三、输入算法。点击模型下方的Code进入算法设计区,如图4所示。
在算法设计区内输入以下代码:(如图5所示)
assigny=a&b;//学习Verilogassign的写法。
该代码实现的是与门逻辑运算。
四、保存。点击菜单“File”中的下拉菜单“Saveas”,将模型另存到一个文件夹中。
五、运行。点击菜单“Build”的下拉菜单“Run”,执行代码检查。如果有错误,会在输出窗口中显示。如果没有错误提示,恭喜你,模型andgate设计完成。
以上所述者,仅为本发明的较佳实施例而已,不能以此限定本发明实施的范围,即但凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。
Claims (5)
1.可视化集成电路设计架构,其特征在于,包括界面设计单元、算法设计单元以及融合单元:
所述界面设计单元内封装模块、引脚、连接线,用于进行可视化拖拽操作设计;
所述算法设计单元设置代码编辑器,用于输入、编辑程序代码;
融合单元生成界面设计单元的电路模块、引脚、连接线的代码,并与算法设计单元的输入代码融合形成具有完整的代码的模型。
2.根据权利要求1所述的可视化集成电路设计架构,其特征在于:模块设置若干可视化、可编辑的属性。
3.基于权利要求1所述的可视化集成电路设计架构的代码生成方法,其特征在于,包括以下步骤:
A:在界面设计单元新建若干模块,并设置模块的属性,根据每个模块的属性生成相应的声明代码;
B:在算法设计单元输入算法程序代码,将模块中手动输入的代码部分,放在声明代码中相应的位置;
C:编辑模块的引脚的属性,不同模块根据相互关系由连接线连接;
D:对模块例化进行声明,根据模块的属性和模块上每个引脚连接的信息进行例化模块代码的自动生成;
E:将代码段每行进行编号,结构层的行编号+1之后成为代码层的起始编号;
F:保存并运行,执行代码错误检查对错误代码行标记并修改,直至将错误代码全部修改正确。
4.根据权利要求1或2所述的基于分层读取的集成电路设计架构,其特征在于:所述集成电路设计架构中采用的程序代码为基于Verilog、VHDL或者SystemC语言的代码。
5.根据权利要求3所述的可视化集成电路设计架构的代码生成方法,其特征在于:所述集成电路设计架构中采用的程序代码为基于基于Verilog、VHDL或者SystemC语言的代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410791801.4A CN105760563A (zh) | 2014-12-19 | 2014-12-19 | 可视化集成电路设计架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410791801.4A CN105760563A (zh) | 2014-12-19 | 2014-12-19 | 可视化集成电路设计架构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105760563A true CN105760563A (zh) | 2016-07-13 |
Family
ID=56339347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410791801.4A Pending CN105760563A (zh) | 2014-12-19 | 2014-12-19 | 可视化集成电路设计架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105760563A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112560370A (zh) * | 2020-12-21 | 2021-03-26 | 上海逸集晟网络科技有限公司 | 芯片设计代码的生成方法、终端以及存储介质 |
CN114626322A (zh) * | 2022-05-12 | 2022-06-14 | 西安芯瞳半导体技术有限公司 | 提升时钟精确级的芯片架构模型、建模方法、装置及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1666202A (zh) * | 2002-04-25 | 2005-09-07 | Arc国际公司 | 管理集成电路设计的装置和方法 |
US20080066046A1 (en) * | 2006-09-11 | 2008-03-13 | The Mathworks, Inc. | Hardware definition language generation for frame-based processing |
-
2014
- 2014-12-19 CN CN201410791801.4A patent/CN105760563A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1666202A (zh) * | 2002-04-25 | 2005-09-07 | Arc国际公司 | 管理集成电路设计的装置和方法 |
US20080066046A1 (en) * | 2006-09-11 | 2008-03-13 | The Mathworks, Inc. | Hardware definition language generation for frame-based processing |
Non-Patent Citations (3)
Title |
---|
GUOSHENG WU: "Simplified FPGA Design with Robei", 《WORLDCOMP PROCEEDINGS OF INTERN. CONF. ON COMPUTER DESIGN》 * |
NG MOON HUI,等: "Cross-Platform Mobile Appllications for Android and iOS", 《WIRELESS AND MOBILE NETWORKING CONFERENCE(WMNC)》 * |
张雷鸣 等: "ROBEI在EDA课程教学中的实践研究与探讨", 《中国电力教育》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112560370A (zh) * | 2020-12-21 | 2021-03-26 | 上海逸集晟网络科技有限公司 | 芯片设计代码的生成方法、终端以及存储介质 |
CN114626322A (zh) * | 2022-05-12 | 2022-06-14 | 西安芯瞳半导体技术有限公司 | 提升时钟精确级的芯片架构模型、建模方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Steiner et al. | Torc: towards an open-source tool flow | |
Murray et al. | SymbiFlow and VPR: An open-source design flow for commercial and novel FPGAs | |
CN104603784A (zh) | 相对定时表征 | |
US8732630B1 (en) | Methods, systems, and articles of manufacture for implementing analog behavioral modeling and IP integration using systemverilog hardware description language | |
CN103605845A (zh) | 一种基于装配知识描述的机床夹具库管理系统 | |
US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
CN115495069A (zh) | 基于模型驱动的煤炭工业软件流程实现方法、装置及设备 | |
CN105760563A (zh) | 可视化集成电路设计架构 | |
CN113655996B (zh) | 一种基于需求模型的企业级系统生成方法 | |
US9501592B1 (en) | Methods, systems, and articles of manufacture for implementing analog behavioral modeling and IP integration using systemverilog hardware description language | |
CN103425844A (zh) | 基于数据流通信平台的cad/cae系统及集成方法 | |
KR101460794B1 (ko) | 미디어 아트 콘텐츠 생성 방법 및 시스템 | |
US8949753B1 (en) | Methods, systems, and articles of manufacture for implementing analog behavioral modeling and IP integration using systemverilog hardware description language | |
Chu et al. | A multi-skeleton modelling approach based on top-down design and modular product design for development of complex product layouts | |
CN102156789B (zh) | Fpga约束文件自动生成系统及方法 | |
Basu | From design to tape-out in scl 180 nm cmos integrated circuit fabrication technology | |
US7353488B1 (en) | Flow definition language for designing integrated circuit implementation flows | |
US8359557B1 (en) | Method and apparatus for generating data bus interface circuitry | |
Cong et al. | An efficient algorithm for performance-optimal FPGA technology mapping with retiming | |
CN103886162A (zh) | 在pcb文件中提取可编程逻辑器件的管脚绑定的方法 | |
Dukaczewski et al. | MontiWeb-Modular Development of Web Information Systems | |
DE102020130212A1 (de) | Verfahren zum deterministischen Clustering und Packing für Random-Logik auf programmierbaren integrierten Schaltungen | |
CN105760562B (zh) | 基于分层读取的集成电路设计架构 | |
Wang et al. | Dual-output LUT merging during FPGA technology mapping | |
Graham et al. | Improving the FPGA design process through determining and applying logical-to-physical design mappings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160713 |