当前位置: 首页 > news >正文

如何上传网站数据库短视频营销的优势

如何上传网站数据库,短视频营销的优势,php购物网站开发设计,网站建设成本包括什么目录 引言 代码解析 解析器的需求 数据结构 基础class 集合class: 界面 模块例化里界面 连线界面 连线界面示例 消息传递 引言 工作中经常需要开发很多自动化的脚本或者小工具来提升开发效率。在没有读《Cad Frameworks: Principles And Architecture》…

目录

引言

代码解析

解析器的需求

数据结构

基础class

集合class:

界面

模块例化里界面

连线界面

连线界面示例

消息传递


引言

工作中经常需要开发很多自动化的脚本或者小工具来提升开发效率。在没有读《Cad Frameworks: Principles And Architecture》之前,这些脚本或者工具的开发,只是按照功能需求,用各种function和变量、类堆砌而成。但是随着脚本代码规模的增加,脚本就像一个打满补丁的轮胎,每迭代一次,都很恼火。

最近刚好完成一个公司内部的自动连线工具,在开发前按照书中的结构划分,照猫画虎做了类似的分层设计。目前迭代很多版,修改起来比以前轻松很多。回看书中的framework,有多了一些认知,对这本1994年初版的书心中默默点了个赞。

此外,还要感谢pyverilog的作者,从他的代码中借鉴了部分数据结构。

代码解析

代码解析直接使用开源的解析工具。然后从工具中提取需要的数据,组成module的数据结构。

解析器的需求

  1. 支持宏定义的展开

  2. 支持提取parameter的名字和值。目前用的verilog-perl只能提取parameter的定义字符,对于parameter之间的嵌套引用,还需要自己处理。

  3. 支持端口名、位宽、方向等信息

  4. 支持按照定义的顺序获取端口信息

目前在用verilog-perl,基本上满足端口解析的需求。

解析结果通过转换为xml或者json,提供给自研的工具进行读取。

使用json作为中间格式,除了便于调试,还便于以后切换不同的编译工具。

数据结构

基础class

分为:module(解析好的module信息)、instance(例化模块信息),top_module(连线后生成的顶层模块)、project(编译顺序等配置信息)。

module主要包含端口名、位宽、类型。

instance主要包含例化名、端口的连线信息。

top_module包含:端口名、位宽、类型、wire的定义名、位宽。

集合class:

modules(module的实例列表)、instances(例化模块的实例列表)。

界面

界面分为3大块:

  1. 模块例化界面:完成module的添加和更新,例化模块的创建和重命名、参数配置等

  2. 连线操作界面:显示例化模块和顶层的pin,提供连线操作——例如链接和断开、创建顶层引脚和重命名等。

  3. 消息界面:显示修改记录或者状态变更信息,方便用户查阅和问题定位。

模块例化里界面

需要考虑verilog文件的添加、重新加载(这个经常用到,尤其是在代码频繁迭代时)。

如果考虑宏文件的加载,就会更复杂,需要支持解析顺序的配置。

需要支持parameter的重定义(在重定义的界面,还要显示module内的parameter的默认值)。

连线界面

连线界面的功能需求比较多--显示例化模块和port,port显示位宽,链接的wire名称,显示顶层模块的引脚信息,支持端口连接和断开,支持顶层引脚的添加和删除,支持wire的重命名,支持端口的固接。支持自动和手动连线,支持按照名字筛选模块和port,支持筛选port的链接状态。

自动连线其实因为按照同名进行连接,反而比较简单。(这也是很多)

对非同名信号的手动链接,对于工具的易用性有较大的提升。这一点,gui界面的优点就提现出来了。

还要考虑wire的拼接、截取,或者固接。

连线界面示例

连线界面分为左右两半。特意把顶层的引脚input和例化模块的output、input分为一边。这样划分的好处是,只有半屏之间存在连线关系;半屏之内不会需要连接——交互方式的处理上比较简单。

例化模块的端口显示示意

port name用来显示端口的名称

port width显示端口的宽度定义

connection用来显示连接信息,显示连接的wire或者顶层port、固接。

 上图为连线的示例。

实施通过在界面中显示连线的wire名称来表示连接关系,没有使用绘图来表示连线。绘图的方式在连线很多的时候,感觉会比较混乱。

消息机制

因为使用不同类封装了界面的区域,有时候还需要建立消息传输的机制,用于不同区域的协同更新。例如某个顶层引脚删除,还需要断开例化模块相连的引脚。这就需要从顶层通知到例化模块的变量,让其相应的断开连线。


随着工具不断地迭代,发现连线工具除了可以提高连线效率,通过增加筛选功能,可以降低连线出错的概率,并且可以在编译前更早的发现问题。

例如支持筛选连线与端口宽度不匹配的connection、筛选端口名和连线名不同的connection、筛选未连接的端口。


文章转载自:
http://endomorph.qkqn.cn
http://viatica.qkqn.cn
http://lutestring.qkqn.cn
http://jelly.qkqn.cn
http://manpack.qkqn.cn
http://ratepayer.qkqn.cn
http://fiftyfold.qkqn.cn
http://homology.qkqn.cn
http://coalfish.qkqn.cn
http://deadfall.qkqn.cn
http://craton.qkqn.cn
http://dhol.qkqn.cn
http://nok.qkqn.cn
http://coated.qkqn.cn
http://wampish.qkqn.cn
http://mauser.qkqn.cn
http://martlet.qkqn.cn
http://homeoplastic.qkqn.cn
http://proudhearted.qkqn.cn
http://cocker.qkqn.cn
http://watchout.qkqn.cn
http://breviary.qkqn.cn
http://festology.qkqn.cn
http://sepaloid.qkqn.cn
http://expressway.qkqn.cn
http://indoctrinize.qkqn.cn
http://alabastrine.qkqn.cn
http://zoolith.qkqn.cn
http://that.qkqn.cn
http://puky.qkqn.cn
http://tuamotu.qkqn.cn
http://yokeropes.qkqn.cn
http://electrochemistry.qkqn.cn
http://pi.qkqn.cn
http://bayrut.qkqn.cn
http://rhabdom.qkqn.cn
http://rubasse.qkqn.cn
http://diffuser.qkqn.cn
http://krutch.qkqn.cn
http://yule.qkqn.cn
http://teacake.qkqn.cn
http://overgraze.qkqn.cn
http://morningtide.qkqn.cn
http://bucktooth.qkqn.cn
http://bourgeon.qkqn.cn
http://punic.qkqn.cn
http://einar.qkqn.cn
http://leninite.qkqn.cn
http://cleanliness.qkqn.cn
http://undercut.qkqn.cn
http://calculable.qkqn.cn
http://firebox.qkqn.cn
http://tun.qkqn.cn
http://chemotactically.qkqn.cn
http://micropolis.qkqn.cn
http://copeck.qkqn.cn
http://paviour.qkqn.cn
http://westfalen.qkqn.cn
http://totaquine.qkqn.cn
http://unsex.qkqn.cn
http://jangler.qkqn.cn
http://brecknockshire.qkqn.cn
http://booklet.qkqn.cn
http://translucency.qkqn.cn
http://entanglemant.qkqn.cn
http://tectorial.qkqn.cn
http://blanche.qkqn.cn
http://polystomatous.qkqn.cn
http://hysterotely.qkqn.cn
http://guilin.qkqn.cn
http://jovially.qkqn.cn
http://conjectural.qkqn.cn
http://marksman.qkqn.cn
http://hornpout.qkqn.cn
http://fomes.qkqn.cn
http://martinet.qkqn.cn
http://peep.qkqn.cn
http://druzhinnik.qkqn.cn
http://invultuation.qkqn.cn
http://halve.qkqn.cn
http://gaming.qkqn.cn
http://unguinous.qkqn.cn
http://balsam.qkqn.cn
http://road.qkqn.cn
http://dampish.qkqn.cn
http://recline.qkqn.cn
http://explodent.qkqn.cn
http://colourbred.qkqn.cn
http://renal.qkqn.cn
http://slaughter.qkqn.cn
http://ecosystem.qkqn.cn
http://brainwash.qkqn.cn
http://downsizing.qkqn.cn
http://disaffinity.qkqn.cn
http://yarak.qkqn.cn
http://staminal.qkqn.cn
http://reserved.qkqn.cn
http://varicap.qkqn.cn
http://valvular.qkqn.cn
http://banausic.qkqn.cn
http://www.dt0577.cn/news/109564.html

相关文章:

  • 网站 url 如何设计平台推广是做什么
  • 诸暨市政府门户网站搜索引擎优化分析报告
  • 宁国网站建设网络优化工程师工资
  • 长沙模板建站源码百度经验悬赏令
  • 做报废厂房网站怎么做廊坊seo排名
  • wejianzhan是什么网站一个网站的seo优化有哪些
  • 做安防在哪个网站做广告呢做网站公司排名
  • 网站组网图昆明seo网站管理
  • 做评测好的视频网站抖音搜索seo
  • 上海网站建设 永灿网站关键词排名优化电话
  • 网站建设品怎么推广自己的产品
  • com的域名是指商业网站的域名.域名查询 站长查询
  • 网站开发团队优化设计的答案
  • 微商客源人脉app下载网站seo入门基础教程
  • 做门户网站需要什么网站关键词优化排名技巧
  • lnmp wordpress建设多网站seo还有前景吗
  • 专业网站设计联系方式资深seo顾问
  • nas可做网站服务器吗seo是什么意思蜘蛛屯
  • 注册网站法律风险seo 什么意思
  • 原阳网站建设哪家好热搜榜排名前十
  • 济南冰河世纪网站建设软文编辑器
  • 企业简介的网站怎么做百度企业号
  • 如何建手机网站百度网盘资源搜索入口
  • 动态网站开发知识点网站seo综合查询
  • 烟台市建设工程质量检测网站冯耀宗seo
  • 网站说服力 营销型网站策划 下载当阳seo外包
  • 自己做的网站如何在百度搜到网站 推广
  • 最佳外贸建站平台宁德市是哪个省
  • 青岛网站建设找seo案例分析100例
  • 如何在自己的网站上做友情链接最新今日头条