- 博客(34)
- 收藏
- 关注
原创 低噪声放大器核心电路设计
低噪声放大器的核心电路原理图如下:电压源的设置如下:仿真测试原理图仿真设置界面如下:S参数设置界面如下:打开的Smith圆图如下:画出S11的曲线优化噪声系数,看一下Smith圆图上最佳噪声匹配点,Gmin表示输入阻抗的共轭值,修改晶体管的尺寸参数和我们的匹配电路来修改。加大晶体管尺寸当晶体管的工作在线性区或者亚阈值区,噪声系数会急剧的上升。交流小信号增益...
2021-11-25 14:49:07
6936
原创 单晶体管仿真分析
仿真原理图如下:PORT0的相关设置如下:电容c0的设置如下:电感L17的设置如下:V9的设置如下:NM1的设置如下:电感L16的设置与电感L17的设置相同,电容C5的设置与C0的设置相同。PORT1的设置如下:VDD上的电感V1设置如下:L0和L1的设置如下:仿真界面如下:先进行直流仿真,print直流信息print直流信息后,一定要选一下MOS管,才能在窗口中显示MOS管的相关信息。print的信息如下:仿真电流Id随着VB的变化曲线注意电流
2021-11-25 01:04:19
1408
原创 MIM,MOM和MOS电容的区别
ic layout经常会遇到这三种电容: MOS, MOM , MIMMOS 电容:两端结构的mos管,电容值不精确,可以实现随控制电压变化而变 化的容值,上下极板接法不可互换。MOM 电容:finger 插指电容,即利用同层metal边沿之间的C。为了省面积,可以多层metal叠加,PDK中metal层数可以选择。一般只在多层金属的先进制程上使用,因为是通过多层布线的版图来实现的,但得到的电容值确定性和稳定性不如MIM,一般可能会用在那种对电容值要求不高,只是用到相对比值之类的应用。上下极板接法可互换
2021-11-24 12:38:02
9961
4
原创 Cadence中MOS器件的finger和multiple数
当W比较大的时候finger之间是用poly连接的,容易有压降。multiple的gate之间一般走metal,所以matching会好一点。finger共享源漏会省一点有源区的面积。finger是一个管子分成好几份连接在一起的,multiple是好几个管子连接在一起当一个用。还有就是有的工艺生成版图的时候多finger可以自动生成,但是multiple就不行。finger与multi管子性能不同,finger有sti效应,finger之间匹配不好。...
2021-11-18 13:41:50
7129
原创 反相器的Cadence仿真
1.启动虚拟机,打开library manager,新建库,并命名为RFIC_sim,并将该库链接到smic13mmrf_1233。2.在RFIC_sim中新建一个Cell View,命名为INV。在原理图中放置PMOS和NMOS两个器件,设置PMOS和NMOS的宽长比之比为2:1,因为PMOS和NMOS的电子迁移率是不一样的,在相同的开启电压下,它们的导通电阻是不一样的,通常来说,PMOS的导通电阻是比较大一些。为反相器添加端口。3.如果有端口放反了,选中器件,使用快捷键shift+m,然后将鼠
2021-10-03 20:28:17
8707
原创 ADS学习记录
1.选择S参数2.双击箭头指示的地方,并且勾选Y参数和Z参数。3.设置参数3.加上Term,然后在电路原理图上放置两个Term4.给放置好的两个Term分别接地5.6.7.8.电感名字改成L1和L3.9.K值一般设置为0.6510.将电感的值分别改为L1pH和L2pH11.将第一个电阻R改为(0.0025I1)Ohm,将第二个电阻改为(0.0035I3)Ohm,然后双击电感模型,将电阻的单位设置为欧姆。12.连线13.1.搭建变压器模型,设置目标
2021-09-21 01:32:30
2756
原创 RCC模块的标准库解析
朱老师单片机课程学习记录//specifies the new state of the HSE 指定HSE的状态// * This parameter can be one of the following values:// * @arg RCC_HSE_OFF: HSE oscillator OFF// * @arg RCC_HSE_ON: HSE oscillator ON// * @arg RCC_HSE_Bypass: HSE oscillator
2021-04-11 20:41:53
506
原创 使用标准外设库重写LED的程序
朱老师单片机课程学习记录1.将F:\STM32 stdlib v3.5\Libraries下的CMSIS和STM32F10x_StdPeriph_Driver复制到自己新建的stdlib_led文件夹下,然后在stdlib_led中创建自己的文件夹user,然后再创建一个project文件夹,然后再创建out、list文件2.新建工程,keil软件工程中只需要把源文件添加进来就行,头文件会自动找到9;36...
2021-04-10 13:42:07
127
原创 使用结构体方式访问寄存器的原理
朱老师单片机课程学习记录3.6.5.使用结构体方式访问寄存器的原理(1)C语言访问寄存器的本质是C语言访问内存,本质思路是:定义一个指针(临时变量)指向这块内存,然后*p = xx这种方式去解引用指针从而向目标内存中写入内容。(2)缺陷:当寄存器多了之后每一个寄存器都要定义一套套路,很麻烦。(3)解决思路:就是打包,批发式的定义,用结构体(想一下为什么不用数组?)的方式进行打包。具体做法是:把整个一个模块的所有寄存器(地址是连接的)打包在一个结构体中,每个寄存器对应结构体中的一个元素,然后结构体基地
2021-04-04 21:14:42
1319
原创 Sobel算子边缘检测算法的实现
边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。 这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。边缘检测算子一阶: Roberts Cross 算子, Prewitt 算子, Sobel 算子, Kirsch 算子,罗盘算子;二阶: Marr-Hildreth,在梯度方向的二阶导数
2020-07-11 00:22:22
3168
原创 中值滤波算法的Verilog实现
中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值.中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为 g(x,y) =med{f(x-k,y-l),(k,l∈W)} ,
2020-07-09 17:39:21
3839
1
原创 RGB 转 Ycbcr 算法实现
/* RGB转YUV算法 计算公式: Y = 0.183R + 0.614G + 0.062B + 16; CB = -0.101R - 0.338G + 0.439B + 128; CR = 0.439R - 0.399G - 0.040B + 128; 其中,时序在计算过程中完全没有用到 输入到输出有三个clock的时延。 第一级流水线计算所有乘法; 第二级流水线计算所有加法,把正的和负的分开进行加法; 第三级流水线计算最终的和,若为负数取0;
2020-07-08 23:00:11
522
原创 RGB转灰度算法
Gray 图像:灰度(gray)图像就是我们常说的黑白图像,由黑到白为灰阶为 0-255(8bit)。YUV 图像: YUV 是被欧洲电视系统所采用的一种颜色编码方法(属于 PAL),是 PAL和 SECAM 模拟彩色电视制式采用的颜色空间。在现代彩色电视系统中,通常采用三管彩色摄影机或彩色 CCD 摄影机进行取像,然后把取得的彩色图像信号经分色、分别放大校正后得到 RGB,再经过矩阵变换电路得到亮度信号 Y 和两个色差信号 B-Y(即 U)、 R-Y(即V),最后发送端将亮度和色差三个信号分别进行
2020-07-08 22:15:20
1031
原创 基于FPGA的等精度频率计
等精度频率测量主要的方法是:先预置一个闸门信号,将该闸门信号作为D触发器的输入端,将被测信号作为D触发器的时钟,当闸门信号有效的时候(即从0到1的时候),在被测信号的上升沿来临的时候,闸门信号被送到D触发器的Q端口。D触发器的Q端口分别连接两个计数器,一个计数器对基准时钟计数(板子上的50M时钟或者用锁相环倍频后的高速时钟),另一个计数器对被测信号计数。当闸门信号有效被送到Q端口的时候,使能这两个计数器进行计数,当基准时钟计数到1s的时候,闸门信号拉低,无效(产生时间宽度为1s的闸门),计算这1s的时间内,
2020-06-29 01:10:03
3835
3
原创 多级CIC滤波器的matlab仿真
M=2; %滤波器长度b=ones(1,M);delta=[1,zeros(1,1023)];s1=filter(b,1,delta); %求取滤波器冲激响应s2=filter(b,1,s1); %求取滤波器冲激响应s3=filter(b,1,s2); %求取滤波器冲激响应s4=filter(b,1,s3); %求取滤波器冲激响应s=filter(b,1,s4); %求取滤波器冲激响
2020-06-21 14:42:34
1989
1
原创 基于verilog的多周期处理器设计
一、计算机的组成结构1.五个组成部件:数据通路,控制器,存储器,输入输出设备2.处理器(CPU):数据通路 + 控制器什么是数据通路?指令执行过程中,数据所经过的路径,包括路径中的部件。它是指令的执行部件控制器的功能是什么?对 指令进行译码,生成指令对应的控制信号,控制数据通路的动作。能对执行部件发出控制信号,是指令的控制部件。二、MIPS指令的执行过程1.R-type指令取指、译码+取数、执行、写回2.I-type指令立即数运算/逻辑运算指令:取指、译码+取数、执行、写回(寄存器
2020-06-20 16:24:36
2604
1
原创 基于verilog的单周期处理器设计
单周期处理器是指取指译码等操作在一个时钟周期内完成。本单周期处理器支持R型指令add,addu,sub,subu,slt,sltu;I型指令ori,lw,sw,beq,bne,移位指令sll,srl,sra指令;J型指令的J指令和Jr指令。单周期处理器设计包括两大部分设计,一个是控制部件的设计,另一个是数据通路的设计。设计整体框图如下:顶层模块如下module SingleCycleCpu...
2020-05-06 17:37:47
4031
3
原创 IIC控制器的verilog && C语言实现
verilog实现方法学习了《FPGA的自学笔记设计与验证》串口读写EEPROM这一章节后,会画时序图和状态转移图,并根据状态转移图和时序图写verilog代码。I2C 协议整体时序说明如下:总线空闲状态:SDA 为高电平,SCL 为高电平;I2C 协议起始位:SCL 为高电平时,SDA 出现下降沿,产生一个起始位;I2C 协议结束位:SCL 为高电平时,SDA 出现上升沿,产生一个结束...
2020-04-17 00:57:21
1686
2
原创 基于verilog的处理器设计之寄存器堆
该寄存器堆是CPU中多个寄存器组成的阵列,由32个32位的寄存器构成,两个读数据口(Ra->BusA Rb->BusB),一个写数据口(Rw ->BusW),写数据受使能信号Wen控制,在时钟的下降沿有效第一种实现方法,代码如下module D_FF( input clk, input [4:0]Ra, input [4:0]Rb, input [4...
2020-03-14 10:32:44
12624
4
原创 非等占空比信号的产生方法
非等占空比信号是指方波信号一个周期内高电平的占比不是百分之五十比如我们要实现一个LED亮1ms,灭800us,假设用的FPGA开发板上的时钟频率是50Mhz,时钟周期是20ns,1ms需要计数50000次,即cnt等于49999时亮的时间和灭的时间加起来时1.8ms,需要计数90000次,即cnt等于89999时假设led是高电平点亮的具体的实现代码如下module counter( ...
2020-03-13 20:59:56
784
原创 QuartusII13.0软件Signaltap工具的使用
打开QuartusII13.0软件,建立好工程后,先调用软件中的IP核ROMtools -> MegaWizard,进入如下界面
2020-03-12 01:14:38
2542
原创 二阶数字滤波器的频率响应的matlab仿真
用MATLAB软件仿真二阶数字滤波器的频率响应,以及极点因量化位数变化而产生的影响,画出8bit量化与原系统的频率响应图,二阶数字滤波器的系统函数如下:在这里插入代码片...
2020-01-23 14:04:03
2318
1
原创 基于Verilog的32位并行进位加法器设计
1、功能概述:先行进位加法器是对普通的全加器进行改良而设计成的并行加法器,主要是针对普通全加器串联时互相进位产生的延迟进行了改良。超前进位加法器是通过增加了一个不是十分复杂的逻辑电路来做到这点的。设二进制加法器第i位为Ai,Bi,输出为Si,进位输入为Ci,进位输出为Ci+1,则有:Si=Ai⊕Bi⊕Ci ...
2020-01-20 00:57:14
9315
5
原创 基于FPGA的DDS信号发生器
之前的博客讲到了DDS的基本原理,现在用Verilog代码实现DDS,能够产生四种波形,方波,三角波,正弦波,锯齿波,用按键来控制频率和选择波形。其中按键消抖模块来自小梅哥的FPGA自学笔记设计与验证这本书。module DDS_Module( Clk, Rst_n, EN, Fword, Key1, Pword, DA_Clk, DA_Data); input Clk...
2020-01-19 22:06:08
9544
7
原创 matlab与数字信号处理
matlab功能强大,能够处理图像和数字信号,matlab中提供了很多处理数字信号的函数,比如filter(),impz()等%E2_2_SignalProcess.m文件源代码L=128; %单位抽样序列的长度Fs=1000; %采样频率为1 kHzb=[0.8 0.5 0.6]; %系统函数的分子系数向量a=[1 0.2 0.4 -0.8...
2020-01-19 13:42:55
765
原创 FPGA矩阵键盘驱动设计
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2020-01-18 23:04:27
808
原创 基于Verilog的阵列乘法器设计
阵列乘法器设计参照计算机组成与系统结构这本书84页的一个框图,相关解析可以参照这本书,下面提供自己根据框图写的代码,其实也很简单,照图施工的过程。//全加器模块代码module full_adder( input a0, input b0, input c0, output s1, output c1); assign c1 = a0 & b0 ...
2020-01-17 22:12:45
2354
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人