西洲渡

一只还没迈入IC领域的小菜鸡

数组类型 非组合型(unpacked) * 对于Verilog,数组经常会被用来做数据存储, 例如 reg [15:0] RAM [0:4095]; //memory array 4096*16-bit * SV将Verilog这种声明数组的方式称之为非组合型声明,即其中的成员之间存储数据都是互相独立的。 * Verilog也不会指定软件去如何存储数组中的成员。 wire [7:0] table [3:0];// 4*8-bit * SV保留了非组合型的数组声明方式,并且扩展了允许的类型,
阅读全文 »

概述 * 测试平台(testbench)是整个验证系统的总称。 * 测试平台包括验证结构中的各个组件(层次)、组件之间的连接关系(通信)、测试平台的配置和控制。 * 从更系统的意义来讲,它还包括编译仿真的流程、结果分析报告和覆盖率检查等。 * 从狭义上讲,我们主要关注验证平台的结构和组件部分,他们可以产生设计所需要的各种输入,也会在此基础上进行设计功能的检查。 测试环境结构图 * 首先编译:RTL(DUT)、TB * 各个组件之间是相互独立的、 * 验证组件与设计之间需要连接(接口连接) * 验证组件之间也需要进行通信(信箱) * 验证环境也需要时钟和复位信号的驱动
阅读全文 »

设计特性 相对于Verilog面向可综合设计的优化: * 添加接口(interface)从而将通信和协议检查进一步封装。 * 添加类似C语言的数据类型,例如int,byte添加用户自定义类型,枚举类型,结构体类型。 * 添加类型转换($cast(T,S)或者 ‘( ) ),添加包(package)从而使得多个设计之间可以共享公共类型和方法。 * 添加方便的赋值操作符和运算操作符,例如++、+=、===,添加priority 和unique case 语句。 * 添加**always_comb、always_latch 和 always_f **等过程语句块。 过程语句块的新特性
阅读全文 »

Verilog中的数据类型 Verilog中有两种基本数据类型:变量类型(variables)、线网类型(wire) 两种类型均为四值逻辑(1、0、X、Z) 真实电路中不存在X,高阻态Z表示引脚悬空 变量类型(variables) 用来储存组合逻辑或者时序逻辑的值 变量类型特点: * 变量保存在initial、always、task、function内赋值 * 变量只能用过程赋值(initial、always)来赋值 1 2 3 4 reg 描述逻辑 integer 描述循
阅读全文 »

前言: 什么是验证:用来证明设计功能的正确,符合设计功能描述的流程(两者有区别) 测试平台 * 观察DUT创建测试序列(Stimulator) * 观察DUT的输入输出(Moniter) * 对DUT的输出数据与预期数据进行比对(Checker) * 报告检查结果 软件验证和硬件验证的区别:时序的问题 芯片开发流程 * 用户需求:从市场人员与客户开始,与系统设计人员一同生成设计结构与产品描述文档 * 系统设计:系统设计人员按照功能划分为各个子系统,推出模块功能详述文档 * 硬件设计:子系统被进一步划分为功能模块,并由硬件设计团队实现写出硬件描述文件 * 功能验证:验证
阅读全文 »

前言 最近在YouTube上刷视频的时候偶然看见李永乐老师讲解卷积神经网络,主要是面向图像处理的,觉得还挺有意思的,就想着整理一下,万一以后用的上也能看看。 视觉原理 * 首先介绍计算机在识别图像的时候,是将图像中的每个像素点转化成数字处理识别,但是这样的话,如果图片发生了旋转、放缩等变化,像素信息和原来不相同,那么计算机便无法识别。但是人眼就可以轻易的分辨,即使图片发生了变化。 * 经神经学家研究,人眼中有两种细胞一种简单细胞只对线条敏感,一种复杂细胞对运动敏感。 * 福岛邦彦提出神经认知模型,即 光->第一皮层->第二皮层->第三皮层-
阅读全文 »

前言 最近经常看一些mosfet的器件结构,分析信号模型,突然要用到三极管,由于思维有点惯性了,突然不会分析了,就想着花一点时间整理一下他们的区别,顺便加入IGBT,正好也加深一下对他们的理解。 三者关系 要搞清楚IGBT、BJT、MOSFET之间的关系,就必须对这三者的内部结构和工作原理有大致的了解。概括的的来说,BJT是流控型器件、MOSFET是压控型器件、而IGBT≈BJT+MOSFET BJT 双极性即意味着器件内部有空穴和电子两种载流子参与导电,BJT既然叫双极性晶体管,那其内部也必然有空穴和载流子,理解这两种载流子的运动是理解BJT工作原理的关键。 结构特点 图中e区(发射极
阅读全文 »

前言 刚入坑模拟,先拿个小项目练练手,环境直接使用的chris的,将虚拟机镜像直接导入自己的电脑就能直接使用,资料下载查看参考目录,另外后来发现了一位大神的笔记也在参考目录中分享他的博客。 预备工作 * 启动软件1 2 3 source RFIC.cshrc //进入工作路径 pwd //查看当前工作路径 icfb //启动软件 * 绑定工艺库 电路设计 原理图设计 * 在RFIC_sim元件库中新建一个电路原理图,输入名称INV * 调入工艺库中的其他元
阅读全文 »

前言 我们以前看的电视上那些聪明人掐指一算,惊叹不已,其实,起卦是一件非常容易地事,入门的有小六壬、梅花易数,其实操作起来都是简单的加加减减。天下掐指算法很多,不过基本上都是用时间来计算。今天介绍的小六壬时课又叫诸葛马前课,其算法是月份加日子加时辰。哦对了,不保证一定可以能算的准,但是对于选择困难症来说,也许是一种福音。 原则 不急不占,无事不占,不动不占。 入卦:按阴历算,顺时针向,从大安起,月上起日,日上起时。 占时应按地方时辰。即“北京时间”以东经120度为准,西移1度,减去4分钟,经度相差15度时,地方时相差1个小时。如武汉相差23分钟,成都相差64分钟。若不换算,推算结果就不准确。
阅读全文 »

前言: 由于现在需要找实习,还啥也不会呢,不知道咋地就对模拟有点感兴趣,就去图书馆借了本模拟集成电路的书,看了一两章,感觉东西不少于是想整理下来,虽然现在常用的SPICE仿真软件都有很好的GUI界面例如Cadence,在用仿真库中的元器件连成原理图后就可以进行仿真(当然要设置必要的仿真参数),但实际上只是用原理图自动产生了SPICE的格式语句,还是要通过读取语句来进行仿真,这是历史的遗留问题。 在spice早期研究的技术条件下,无法用图形方式输入电路结构,只能通过文本文件来描述,也就是所谓网表。SPICE软件的设计者规范了要进行仿真的电路对应的SPICE网表文件格式,还定义了许多仿真描述语句和
阅读全文 »

前言 这个设计是我参加2019年电赛的H题,把这写下来,留着以后看,虽然设计在现在看来也是极为青涩的,但是还我觉得这也是一种成长,总归是要慢慢进步的。 比赛要求 摘要 本参赛小组设计并制作了模拟电磁曲射炮,实现在不同方向自动或手动搜索目标并且发射弹丸的功能。该系统主要由机械部分和控制部分组成,其中机械部分包括底座、云台以及炮筒等;控制部分主要由单片机、舵机、摄像头以及电磁炮控制电路组成。系统选用 STM32F103ZET6 为控制核心,通过晶闸管和继电器控制电磁炮发射,通过舵机控制 电磁炮发射方向,通过摄像头 OpenMV 图像信息分析目标位置并反馈,采用 PID 算法实现自动控制。该系
阅读全文 »

正则表达式 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为”元字符”)。 正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。 常用规则 字符描述\d匹配一个数字字符。等价于 [0-9]\D匹配一个非数字字符。等价于 [^0-9]\w匹配包括下划线的任何单词字符。等价于[A-Za-z0-9_]\W匹配任何非单词字符。等价于 ‘[^A-Za-z0-9_]’[xyz]字符集合,匹配所包含的任意一个字符`xy`[^xyz]字符取反集合,匹配未包含的任意字符[a-z]字符范围。匹配指定范围内的任意字符.
阅读全文 »

摘要 集成电路中的版图设计衔接了电路原理图和制造工艺,因此一张好的版图设计不仅会对器件的实际效果造成影响,还会影响芯片的寿命,画版图之前首先要对电路软件有一定的了解,通过对电路知识的运用,以及版图设计规则的了解,完成JK触发器的版图设计,并进行合理的布局,并对布局布线进行优化,最后在对电路提出一些改进意见来增加电路的灵敏度以及合理性。 关键词:版图设计、JK触发器、版图优化L-Edit软件、集成电路 引言 随着科技的进步,近几个世纪集成电路技术不断成熟,在数字电路中,触发器已经是一个经常被提出的概念,JK触发器是数字电路触发器中的一种基本电路单元。JK触发器具有置0、置1、保持和翻转功能,在
阅读全文 »

前言 本篇文章转载的GitHub上一个很火的项目 英文版本 全局命令 到目前为止,您已经了解了如何使用点命令(.)重复上一次更改,如何使用宏(q)重播动作以及将文本存储在寄存器中(")。 在本章中,您将学习如何在全局命令中重复命令行命令。运行一次,应用于任何地方(在缓冲区中)。 全局命令概述 Vim的全局命令用于同时在多行上运行命令行命令。 顺便说一句,您之前可能已经听说过“ Ex命令”一词。在本书中,我将它们称为命令行命令,但Ex命令和命令行命令是相同的。它们是以冒号(:)开头的命令。在上一章中,您了解了替代命令。这是一个Ex命令的示例。它们之所以称为Ex,是因为它们最初来自Ex文本
阅读全文 »