关于veriloga和Verilogasm透射思考

2023-11-01

Verilogasm是一个如何诞生的语言系统呢?

我认为是用来表达“功能器件的信号处理”的语言系统,有信号处理,那么必然就存在两个问题。1.测试的数据是什么样的?2.观察的器件的功能是如何的?

用一个模型表征它结构,如下:

首先从功能的角度来分类,我们需要一个阻塞电流流通的器件,这就是电阻;我们需要一个只能传递波信号,不能传递非波信号的器件,这就是电容;我们需要一个放大功率的器件,这就是功率放大器;我们需要一个连接传输信号的通道,但是什么能量都不消耗,这就是导线……

可见,任何功能系统中的器件,都承担这独一无二的功能分类。然而,实际上做出来的这些器件并不合这些纯粹的功能器件相同,所以实际器件并不能严格地称为功能器件。实际器件是实际器件,它实现了所需的功能,但不是功能器件。

对于纯粹的功能器件来说,它的组成部分有两卦,形成的模型如下:(借用易经的定义表达一下)

功能器件是直接和网络结构属性挂钩的,以上的模型并没有被我赋予任何物理属性,仅仅只有结构属性,所以“——”和“O”处全部都不是实体,而是虚拟的结构关系,或者理解成代码的算法结构。运化系数代表前卦和后卦的逻辑连接通道,变化大小关系。爻变系数代表上三爻和下三爻的变化大小关系。这里面,这部分系数也可以用parameter 声明初值,然后通过外接模块的输入输出,调节这些变化大小的一系列值,达到控制整个网络结构数值的目的。

拥有这些关系的器件,即为功能器件。

所以,在va中定义瞬时电阻是这样的:v(1)=Z1*i(1),v(2)=Z2*i(2),所以电阻属于爻变器件。

而电流放大器是这样的:i(2) = GainI*i(1),v(2)= GainV*v(2),所以放大器是属于运化器件。

 

将结构关系拆解完毕,我们就需要给它赋予物理特性,即如何“無中生有”(将能量駁载到物质上,物质实在化+能量变化显化),需要做的就是输入“测试的信号流,让它在网络中运动,产生实际器件”

于是,诞生了几个问题,在电路中流通的信号流是什么物理属性?信号流流过节点结构会形成什么?信号流在功能网络中传输过程中发生了什么具体变化?

信号流是什么物理属性?首先,信号流一定是一个时间域的概念,它不是一个变量,而是一系列变量在时间上的组合体。它是一个波信号的方式,按照信号与系统来看,通路中能够传播的信号方式有很多种,按照分类不同,传输的信号是有区别的。

而一旦涉及时间,一定会涉及到几个概念:信号流的寿命Tau,信号流的周期频率F,信号流的数学收敛性,信号流的互相干扰问题(频率+时域)等问题,而这个的确是我们在进行器件建模时需要涉及的问题关键之所在。

在Va中专门定义了区别于数值计算的信号流计算方法。或者可以说,所有的Va中的计算都是基于信号流的计算的,一些数值计算仅仅是为了服务信号流罢了。比如,爻变系数和运化系数就可以用数值计算来进行,因为它本质上是确立了两个节点之间的逻辑关系,但是并没有信号流传输。

但是,信号流变化例如降噪、变频、起振等等基于信号流的变化运算,就不能用数值计算了,而因以信号处理的角度,对整个信号流进行功能上的变化。这就是va中的anology block声明的原因,这种处理信号流的方式就是模拟信号流的输入输出过程。

故,在Va中的积分算法,微分算法,拉普拉斯变化等等,都是放在模拟运算过程中的,本质上都是对“时间信号流的处理”。所以,电容电感在任何与时间无关的电路中,是不存在的。只有我们观察了时间上的相位,幅度变化,才能“看见”电容电感。但是,电荷却是物质本质属性和瞬时电流,电势一样,属于节点的本质属性。这些在非时间的运算中也是存在的。

从输入输出的角度来看,模拟中需要关注的就是输入频率是什么样的,什么时候起上升沿触发信号流跟随变化,输入输出的直流信号如何,交流信号如何,产生信号流的什么等等问题。所以才会有输入电流源进行测试,输入某个带有genvar属性变量的连贯信号流进行测试的方法。(genvar一般用来处理时间域中某段时间片段的信号变化关系的,所以一般是循环的用法,它的计算不是数值计算,而是信号流计算)

并且,就信号流的属性来说,输入输出关注信号流和“——”结合的物理属性,信号流的媒介可以是各种能量如电、磁、生物能、机械能、光能、化学能、热能等等能量形式,也可以是各种势场如电势、磁场、热分布场、引力场等。所以才要声明输入输出能量媒介的属性。

功能系统中关注信号流和“O”结合的物理属性,所以才要声明各端口节点的能量属性。

 

继续回到结构角度,从信号流结合“——O——”的角度来看,任意电气节点都具有KVL和KCL属性(非电气节点其实也有,这个属性是网络结构带来的),单个的节点和连接存在两种方式,并联结构和串联结构。而并联结构和串联结构中信号流通的爻变系数和运化系数是不同的。所以模拟<+可以勉强理解成现实生活中的信号夹子,做实验的时候,把功能器件两边的夹子往"信号通路"或"节点"上一接,悬空一端默认接地,不过这么理解容易出现误解,最好的是从爻变和运变的角度看连接的夹子。

所以,从信号的角度来说,<+的信号流赋值是叠加的,而不是覆盖的。

另外,分支中对于V(1,2,3,4,5)<+5V,这种情况,就是下面第二张图的表示,相当于向量节点全部并联到同一个标量节点上的结构。图一的供给分支结构是V(1,2,3,4,5)<+I(1,2,3,4,5)若是没有外界测试数据或端口port,那么右侧的端口和左侧端口都相当于在边上接了一个到地的标量节点。那么能量将无法在其中传输。而一旦声明了左右两侧都是端口属性,并且两端加了测试信号和检测设备,那么V(1,2,3,4,5)<+I(1,2,3,4,5)就是一个可以供功能属性的器件了。

子电路和总电路的关系还有另外一种连接方式,并不是从信号流的角度链接的,而是从网络本身的角度链接的。这就是网表。总电路和子电路,通过端口网表可以连接起来。

另外还有一个组合语句需要解释一下,我的理解是这样的。

analog begin

        @cross(满足信号流变换发生的条件,并且信号有先后顺序,如到达上升沿,延迟多少,缓冲多少等)

              if(达到希望的数据流的阈值/选择变换的信号区间条件,无先后顺序,仅仅是类似于直流和交流比较的思维)

                 1.对信号流进行处理

                 2.对数值进行处理,但信号流可以保持不变

可能有些错误,想到再改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于veriloga和Verilogasm透射思考 的相关文章

  • IDEA 调试小技巧

    条件断点 循环中经常用到这个技巧 比如 遍历中 想让断点停在某个特定值 见上图 在断点位置 右击会弹出一个界面 在condition中填写断点条件 在调试的时候 断点会自动在断点条件 i 6 为 true时候停下 跳过为false的条件 回
  • Java对象与byte[]数组之间的相互转化,压缩解压缩操作

    原文 http blog csdn net NsdnResponsibility article details 51028739 comments 下面介绍一下java对象之间和byte 数组之间的相互转化 并对byte 数据进行压缩操作
  • 数学的回忆(零)——傅立叶

    一 什么是频域 从我们出生 我们看到的世界都以时间贯穿 股票的走势 人的身高 汽车的轨迹都会随着时间发生改变 这种以时间作为参照来观察动态世界的方法我们称其为时域分析 而我们也想当然的认为 世间万物都在随着时间不停的改变 并且永远不会静止下
  • 如何使用KubeSphere3.0的DevOps系统构建dotnet core应用

    如何使用KubeSphere3 0的DevOps系统构建dotnet core应用 因KubeSphere的DevOps系统官方未提供 net core的ci cd解决方案 需要自己进行DIY 现把实施过程记录下来 供需要的小伙伴自取 前提
  • FISCO BCOS 六、通过Caliper进行压力测试程序(及常见问题)

    目录 1 环境要求 第一步 配置基本环境 这里我使用的是Ubuntu20 04 第二步 安装NodeJS 第三步 部署Docker 第四步 安装Docker Compose 2 Caliper部署 第一步 部署 第二步 绑定 第三步 快速体
  • Jedis使用

    Jedis Jedis是Redis官方推荐的Java连接服务工具 Java语言连接redis服务还有这些SpringData Redis Lettuce 下载地址 https mvnrepository com artifact redis
  • MySQL left join优化

    问题描述 遇到了一个需要4个表连接查询的问题 数据量不是很大 两个表大概9000条数据 另外两个表大概几百条数据 但是每次查询时间都需要50秒左右的时间 SELECT FROM gzgdm gz gd region region LEFT
  • 类组件使用mobx实现数据修改以及请求数据

    src下创建新的共享数据文件test js import observable computed action autorun runInAction configure makeAutoObservable from mobx impor
  • 处理高并发的方法

    处理高并发 六种方法 1 系统拆分 将一个系统拆分为多个子系统 用dubbo来搞 然后每个系统连一个数据库 这样本来就一个库 现在多个数据库 这样就可以抗高并发 2 缓存 大部分的高并发场景 都是读多写少 那你完全可以在数据库和缓存里都写一
  • SpringCloud整合 Oauth2+Gateway+Jwt+Nacos 实现授权码模式的服务认证

    前言 目前正在出一个SpringCloud进阶系列教程 含源码解读 篇幅会较多 喜欢的话 给个关注 前段时间拖更了 主要事情比较多和杂 不多废话了 直接给大家开整吧 本节重点是给大家介绍Oauth2 将会带大家从0到1搭建一个 Spring
  • 以太坊 p2p Server 原理及实现

    以太坊p2p原理与实现 区块链技术的去中心依赖于底层组网技术 以太坊的底层实现了p2pServer 大约可以分为这样三层 底层路由表 封装了kad路由 节点的数据结构以及计算记录 节点搜索 验证等功能 中层peer抽象 message开放发
  • PLC通信协议【西门子】PPI协议的读取与写入报文详解

    一 PPI协议通信过程 PPI通信协议是一种主从式的通信协议 上位机即PC机为主 PLC为从 通信开始由计算机发起 PLC予以响应 1 计算机按通信任务 用一定格式 向PLC发送通信命令 2 PLC收到命令后 进行命令校验 如无误 则向计算
  • QT 编写.pro .pri 对编译输出整理和标准化

    文件主要是用于QT对区别不同编译器的文件输出 目前只写了 win linux 和 mac 有项目需求再补充 BUILD OUTPUT PATH 是最后的目录名称 当QT安装了MSVC编译支持时 项目在选择的VS第一次编译或qmake时 会在
  • Ctrl C 和 Ctrl V 突然失效的解决方法

    1 检查是否运行 有道词典 运行中就关闭 可能是键位冲突 2 向日葵是否运行 运行中就关闭 有奇效 3 打开你的输入法 看看快捷键是否有冲突 4 打开C盘 gt Windows gt System32 看看这个文件夹中是否有clip的文件夹
  • 解决Putty报错“Couldn't agree a key exchange algorithm”

    问题 使用Putty SSH登录某些主机时报错 Couldn t agree a key exchange algorithm available curve25519 sha256 libssh org ecdh sha2 nistp52
  • setenforce用法

    SELinux Security Enhanced Linux 是美国国家安全局 NSA 对于强制访问控制的实现 是 Linux历史上最杰出的新安全子系统 setenforce是Linux的selinux防火墙配置命令 执行setenfor
  • (6)元对象系统与信号与槽机制

    1 元对象系统 元对象系统是一个基于标准C 的扩展 为Qt提供了信号与槽机制 实时类型信息 动态属性系统 什么是元对象 在计算机科学中 元对象是这样一个东西 它可以操纵 创建 描述 或执行其他对象 元对象描述的对象称为基对象 元对象可能存在
  • 网工必备工具软件——一看就懂,一听就会,一做就废

    网工是啥 打杂大将多才多艺 能文能武 除了本职工作以外 其他都干上能修卫星高空作业下能除草画图拆地板砖等等 上能九天揽月下能五洋捉鳖 1 eNsp 华为华三思科模拟器 eNSP Enterprise Network Simulation P
  • 时间序列分类算法_时间序列分类算法简介

    时间序列分类算法 A common task for time series machine learning is classification Given a set of time series with class labels c

随机推荐