自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沧月九流的博客

人生漫漫,嵌入为王。。。

  • 博客(58)
  • 资源 (12)
  • 收藏
  • 关注

原创 SV中$cast----子类句柄与父类句柄转化问题

SV中$cast子类句柄与父类句柄转化问题

2022-06-09 16:27:56 2945 1

原创 m_sequencer与p_sequencer究竟是什么?为何引入?

m_sequencer与q_sequencer究竟是什么?为何引入

2022-06-03 18:40:04 4747 2

原创 UVM中函数返回值问题记录

1)问题产生原因:在编写UVM中build_phase函数时,没加上void返回值,结果报错function build_phase(uvm_phase phase) .......endfunction编译时显示返回类型不匹配2)软件语言中void可以省略不写,此处省略后编译不同过。...

2022-05-20 17:10:27 281

原创 UVM对象实例化及覆盖的几种方法

UVM对象实例化的方法有多种,以下以object为例:1)第一种:直接利用new函数进行实例化trans t1;t1 = new("t1");//利用new函数进行实例化2)第二种:uvm_component_registry中提供的方法type_id::create,此种方法也是最常使用的方法trans t2;t2 = trans::type_id::create("t2",this);3)第三种:uvm_factory中提供的方法creat_object_by_typetrans t

2022-05-19 09:41:00 2173

原创 UVM中导入uvm_pkg库的作用(import uvm_pkg::*)

uvm_pkg作用:**该库包含uvm内建的变量、方法、机制,在uvm验证环境中都需要导入**uvm_pkg导入方法:import uvm_pkg::*uvm_pkg编译问题:将uvm_pkg导入至工程中后,不需要手动编译,questa 会默认自动地将它编译至work库中,供后续调用**...

2022-05-17 14:48:12 3727

原创 Questa sim 编译顺序问题的记录

使用Questa sim 编译MCDF文件时,有一定的文件编译顺序要求,否则将编译不通过,产生报错。因此需要进行编译顺序的调整:编译顺序一般原则为:1、先设计后验证2、先底层后顶层(注:实际操作中发现第一次编译不成功时,再重新编译一次就会成功,猜测软件内部可能进行了一些处理?)...

2022-05-12 17:02:32 370

原创 default_sequence的作用?

UVM中default_sequence的作用

2022-04-19 15:06:34 2742

原创 interface、virtual interface 与 config_db之间的关系?

1,首先我们要明白为什么引入interface?引入interface是为了避免使用绝对路径增加程序的移植性!2,为什么引入virtual interface?因为在top_tb中可以直接声明interface,而在由run_test启动的UVM验证平台的类中不能直接声明interface因此引入了virtual interface!3、interface 与virtual interface如何完成连接?1)interface在top_tb中直接声明后,在随后例化DUT的过程中就可以将其与DUT

2022-04-14 21:34:25 3461 1

原创 NHS3152调试记录

1、NHS3152利用LPCX无法下载程序?三个解决办法:1)复位2)提供NFC常激活3)最可靠的方法就是使用flash magic下载程序激活2、电池点后换上新的电池,重新上电,仍旧提示电池没电?1)可能是电池寄存器未刷新?...

2021-12-14 17:33:09 248

原创 SystemVerilog中的采样和数据驱动问题?

一、SystemVerilog中的采样和数据驱动问题?首先我们要明白在采样和数据驱动的过程中会具体会出现什么问题1)采样过程:原本是想在时钟上升沿采集数据的,结果采样的值却是上升沿之后的数据。2)数据驱动:不清楚数据是在上升沿之后驱动数据还是之前。造成以上问题的本质是竞争问题,那如何解决竞争问题呢?1)首先加入适当的延迟,明确驱动与时钟,采样信号与时钟的先后关系,避免竞争问题的产生,但这并不是一个好的选择。2)在接口中使用clocking块。(以下将主要介绍clocking块)首先又一个问题我

2021-04-19 21:02:00 2318

原创 Hdlbit网站鼠标协议 PS/2 mouse protocol的练习问题

1、原题:The PS/2 mouse protocol sends messages that are three bytes long. However, within a continuous byte stream, it’s not obvious where messages start and end. The only indication is that the first byte of each three byte message always has bit[3]=1 (but

2021-04-19 10:29:02 429 1

原创 SystemVerilog中的Program的学习笔记

1、SystemVerilog中的Program的作用? 将验证部分与设计部分进行隔离(实现方式就是将软件验证部分放置program中)2、SystemVerilog中的Program结束方式?Program结束方式分为两种:1、隐式结束 2、显式结束1、隐式结束:如果program种有一个initial,则执行完该initial过程块,program就自动结束,但如果有多个initial过程块,则执行最后一个过程块后program将自动结束。2、显示结束:如果program中的某个initi

2021-04-17 10:37:15 5185 1

原创 SystemVerilog中接口interface的modport

最近自学SV interface中的modport记录以下学习笔记:一、interface中的 modport作用:在接口中使用modport结构能够将信号1、分组 , 2、指定方向。interface中的 modport使用方法:在接口内部声明modport将信号分组,并指定方向的方法如下://带有modport的接口interface arb_if(input bit clk); logic [1:0] grant,request; logic rst; //将

2021-04-16 15:20:37 9650

原创 Systemverilog中的组合数组与非组合数组详解

问题一:如何区分组合数组与非组合数组?你能区分以下数组哪些是组合数组哪些是非组合数组吗?logic [8:0][7:0] array0;logic [7:0] array1 [8:0];logic array2 [8:0][7:0] ;答案就是:只有第一个数组array0是组合数组,其余都是非组合数组。哪如何区分与记忆呢?首先明白维数在数组名左边意味着packed即告诉编译器要打包的意思,而在右边意味着unpacked即告诉编译器要不用打包的意思。然后我们要明白组合数组就是将数组中的每一位

2021-04-12 09:53:32 2607 2

原创 从hdlbit网站学习到有关独热码编码方式的认识

题目如下所示:首先介绍独热码:其特征就是:只有一个位为1其余全为0 的编码方式优点:因为每一个状态只有一位为1,减少了毛刺的产生(时序电路增加,组合电路减少)缺点:会消耗过多的寄存器。解决思路:本题中我首先是想到将每个状态定义成如下:parameter s0 = 10'b00_0000_0001, s1 = 10'b00_0000_0010, s2 = 10'b00_0000_0100, s3 = 10'b00_0000_1000, s4 = 10

2021-04-10 11:25:57 302

原创 hdlbit Lemmings4练习

Lemmings4练习原题如下:注意:若想仿真正确,计数值counter位宽要设大一些,原先我设置了5bit,结果仿真不正确,更改为8bit后结果正确,因为位宽小的话计数结果可能会溢出(或者counter增大一定数组时候之后就不增加了,本文采用后一种方法)状态转移图如下:代码如下:module top_module( input clk, input areset, // Freshly brainwashed Lemmings walk left. input b

2021-04-09 12:12:48 214

原创 关于HDLbit Lemmings2问题解决办法及疑惑点!!!

原题为:In addition to walking left and right, Lemmings will fall (and presumably go “aaah!”) if the ground disappears underneath them.In addition to walking left and right and changing direction when bumped, when ground=0, the Lemming will fall and say “aaa

2021-04-08 12:18:59 294 1

原创 Hdlbit网站练习:Exams/ece241 2013 q4:水位问题

此题需要注意的地方有三个:1)水位监测器的输入是状态跳转的条件2)assign {fr3,fr2,fr1} = {!s[1],!s[2],!s[3]};//不能根据输入判断否则会提前一会时钟3)assign dfr = (state < next_state) ? 1’b0 : 1’b1; //使用组合逻辑电路结果将提前一拍,结果不正确module top_module ( input clk, input reset, input [3:1] s, out

2021-04-07 15:40:10 327

转载 2021-04-06

建立时间和保持时间关系详解 图一(转载https://www.cnblogs.com/lilto/p/9581143.html)建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。 如图1 。数据稳定传输必须满足建立和保持时间的要求,当然在一些情况下,建立时间和保持时

2021-04-06 21:25:06 229

原创 虚拟机右上角网络图标没了且连不上网?解决办法

1、重新找回右上角网络图标、执行以下三段代码sudo service network-manager stopsudo rm /var/lib/NetworkManager/NetworkManager.statesudo service network-manager start2、重新配置1、编辑/etc/NetworkManager/NetworkManager.conf将其中的managed=false改为managed=truesudo vi /etc/NetworkManag

2021-03-17 20:27:30 11861 27

原创 2021-03-16

HDLbit网站上实现100bit位bcd全加器的实现:总结:1)实例化不能在always块中,需要用到generate语句2)进位输出定义一个矢量cout1[99:0]3)实例化中的端口连接可以想像输入矢量中某几根线与某个实例连线的形式module top_module( input [399:0] a, b, input cin, output cout, output [399:0] sum ); wire cout1[99:0];

2021-03-16 13:53:19 81

原创 2021-03-13

//C++小程序----通讯录的实现//主要知识点:1、结构体嵌套结构体 2、结构体指针运算符->的运用 3、形参可使用地址传递一来可修修改实参的值,而来节约资源。4、循环遍历、如果找到(==)则利用return退出函数,否则在for循环后面使用return 退出函数#include<iostream>#include<string>#define MAX 1000 //最大人数using namespace std;//联系人结构体struct pe

2021-03-13 15:23:39 57

原创 C++学习总结

1、不同的数据类型本质区别就是在内存中占的空间大小不同,即占据的字节个数不一样。数据以字节为单位存储在存储器中。整型:短整型short–2字节 整型int–4字节 长整型long–4字节 长长整型long long–8字节 short num1 = 10; int num2 = 10; long num3 = 10; long long num4 = 10; cout <<" num1 ="<<num1<<" short 短整型字节数为:"&l

2021-03-08 14:03:30 200

原创 2021-01-25

一个字等于多少个字节 一个字等于多少个字节,与系统硬件(总线、cpu命令字位数等)有关,不应该毫无前提地说一个字等于多少位。正确的说法:①:1字节(byte) = 8位(bit)②:在16位的系统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit) 在32位的系统中(比如win32) 1字(word)= 4字节(byte)=32(bit) 在64位的系统中(比如win64)1字(word)= 8字节(byte)=64(bit...

2021-01-25 20:47:33 59

翻译 使用printf为什么要重定向,为什么可以重定向?

困惑多年,为什么printf可以重定向?(转知乎鱼鹰谈单片机,再次记录一下,防止以后忘记)使用printf为什么要重定向,为什么可以重定向?**一、要重定向是因为:**printf 是一个库函数,用户不知道其源代码是什么?因此当比如输出到 LCD、串口1、串口2,我们不可能去修改标准库的源码。因此我们需要重新重定向一个二、为什么可以重定向:因为_attribute__((weak))很多人在用printf函数进行串口打印的时候,都会被告知需要重定向fputc函数(别的平台可能不是这个函数),让字符串

2020-11-30 10:51:29 2453 2

原创 初学FPGA对综合的理解

我对综合理解是:广义的说综合就是将高层次的设计转化为低层次的设计,比如将C语言转化为汇编语言,机器语言等,将HDL语言转化为门级网表等。狭义的数字电路设计过程中的综合有可以分为以下几种:1、自然语言综合:作用将自然语言转化为HDL语言2、行为综合:将行为级的HDL语言转化为RTL级3、逻辑综合:RTL级转化为门级网表4、结构综合:对门级网表进行布局布线,生成具体的结构。我们常说的综合是逻辑综合即将RTL级转化为门级网表...

2020-10-06 12:53:05 2879

原创 三级管输入输出特性曲线的分析

本文目的:主要是自己学习的心得,做下记录,方便以后回顾!本文主要内容:从三极管的输入输出特性曲线分析三极管的三个工作状态,截至区,放大区、饱和区。主要包括:1、进入这三种工作区域的条件!2、进入该区域之后的工作特性!前题:为分析方便,首先我们应该也应当把三级管当做一个盲盒,这样我们使用它的时候就会关注以下这两点,输入与输出。会关注给怎样的输入它才会工作,工作后会输出怎样的型号。为了更好的描述输入输出关系,才测得了三级管的输入与输出曲线。如下图所示:从输入、输出特性曲线整体分析可知:1、若输入

2020-09-20 19:10:59 10199

原创 STM32 DAC使用时需注意的一个小细节!

STM32 DAC使用时需注意的一个小细节!在使用STM32 DAC模块时,因其内部的DAC模块输出使能之后,在内部会与某IO口直连,因此需将该IO口设置为输入模式。比如STM32F103ZET6 的 DAC 通道 1 在 PA4 上,所以,我们先要使能 PORTA 的时钟,然后设置 PA4 为模拟输入。DAC 本身是输出,但是为什么端口要设置为模拟输入模式呢?因为一但使能 DACx 通道之后,相应的 GPIO 引脚(PA4 或者 PA5)会自动与 DAC 的模拟输出相连,设置为输入,是为了避免额外的干

2020-08-19 20:05:53 1671 1

原创 AD 原理图中有元器件未连接但编译时不报错的解决方法

一 问题: 使用AD 时原理图中有元器件引脚未连接但编译时不报错。二 解决方法: 在原理图界面选择菜单栏的工程---->工程选项(project---->project options)中修改编译规则三 详细步骤:在原理图中打开project---->project options 如下所示:之后会弹出以下对话框,选择Connect Matrix将红框中的规则设置为Error或者 Fatal Error (点击即可修改)之后编译未连接的引脚就会报错。...

2020-08-19 09:21:01 9033

原创 Cadence总线的绘制方法

cadence 总线绘制分为一下几个步骤:1、放置总线( Place BUS)2、给总线命名(将net放置总线上)3、放置总线入口 (Place BUS entry)4、将支路与总线相连(利用Wire直接连线)5、给支路命名(将net放置支路上)效果图如下:注意事项!!!1、总线BUS不能以数字结尾 DATA[0:31]√ DATA0[0:31]×2、总线分支命名有规定,必须和总线名相同(放置一个后可利用F4快速放置)3、总线与支路实际是通过符合总线规定的Net名相连的,也即若

2020-07-12 20:30:45 6619

原创 Cadence中的homogeneous与hetergeneous的区别及注意事项

首先homogeneous的意思由同类事物(或人)组成的;同种类的而hetergeneous的意思是异质性;异类的;异构。在cadence中如果一个元器件由几个相同的部分组成则可以利用homogeneous绘制(比如多输入的运放)而如果一个元器件由几个不同的部分组成则可以利用hetergeneous绘制(比如一个管脚数目多的FPGA芯片分为不同的几个部分绘制)新建元器件库,如下所示:选择package type 每个部分相同选择homogeneous,不同选择hetergeneous注意事项

2020-07-12 18:44:55 3377

原创 两台电脑用网线直连如何发送文件?

两台电脑用网线直连如何发送文件?一 工具:1、一根网线2、飞秋2013(直接从360软件管家下载或者网上自行百度下载)二 步骤:1、利用网线将要传送数据的两台电脑连接起来(保证物理连接)2、将两台电脑的IP与掩码设置一下确保两台电脑在同一个网络内(IP = 网络地址 + 主机地址为了确保通信,两台电脑的主机地址要不同、但网络地址要相同)具体操作为:IP----只更改后三位(两台电脑不同数字且在0-255之间即可)子网掩码—两台电脑设置成相同的且为255.255.255.0上两步可确保

2020-05-26 23:05:50 3309

原创 AD 如何在Keepout层绘制图案?如何在PCB板子上挖洞?

一般在其它层画线,可直接放置place-line再双击改线条将其层属性改为想要的层,但keepout层无法这样操作。具体表现为在画好的属性框中没有keepout。欲在keepout层画线,先选中Keepout 层,在PCB板上右击鼠标键,出现Place-keepout-track 就可以绘制线条了。然后选中这个图形。在Tool菜单下,点击convert,两种情况:第一种(如果是画PCB库的...

2020-03-20 09:02:00 7645

原创 PCB过孔的图文介绍

PCB过孔主要由两部分组成:1.孔径 hole size 2.过孔焊盘Diameter因此在PCB放置过孔时要设置这两个参数hole size 与 Diameter如下图PCB厂商制作过孔时要先打孔,然后対孔进行导电处理(预金属化)即黑化(用石墨烯、石墨乳处理),有了导电能力,就可以对孔实现电镀.这样过孔的内壁就具有了导电能力过孔流过的电流大的话就要加大孔径,这样过孔的内壁面积就大了也就...

2020-03-19 17:38:20 7115

原创 用altium画pcb一旦把元器件移出room 封装就变绿???????????

design - rules- placment-room definition 前的勾去掉 就OK

2020-03-10 15:19:21 2150

原创 DC-DC无输出???

问题描述: 最近在项目中发现产品DC-DC无输出?问题解决过程:分析电路图后发现DC-DC的使能端直接与DC-DC的输入直接连接在一起并且直接与MCU的GPIO口连接在一起,通过MCU的GPIO口输出高电平使能DC-DC,但结果是拉高GPIO口后DC-DC并无输出,DC-DC有输入无输出,刚开始怀疑是否是DC-DC的使能端电压超过了其最大允许的输入电压,查过DATASHEET后发现电压并没有超,...

2020-01-16 12:23:49 4019 5

原创 信号与系统主要的贯穿始终的三个问题?

作为工科生,相信大家绝大部分都学习过信号与系统,但大多数人学完之后就只记得里面计算麻烦的傅立叶变换和拉普拉斯变换,还有无尽的吐槽……教科书上繁杂的公式使得我们忘记了这门课程到底要教会我们什么?在现实生活工作到底有什么么作用?我们该如何认知这么课程,或者说应该怎样学习这么课程呢?要想学以致用,必须了解所学为何!带着问题学习是最好的学习方法。学习信号与系统有三个问题贯穿始终!一:基本信号与基...

2019-07-03 00:09:21 1827 1

原创 抛开收敛域谈幂级数的和函数是毫无意义的!!!

抛开收敛域的幂级数谈其和函数是无意义的!!!对于幂级数而言,只有X在其收敛域内,此幂级数才收敛也就是n项和的极限存在,可以用幂级数的和函数将其表达出来,但需要注意的是此和函数的变量X必须加以限制。即x必须属于此和函数对应幂级数的收敛域。换一句话说当x不属于收敛域,那么幂级数就不收敛,其值为无穷大或者不是一个确定的数值,那自然无法再用和函数表示它,因为函数在某个变量下一定有一个确定的值与其对应。...

2019-07-01 18:56:32 1882

转载 altium designer14的Import wizard 没有内容或为空的解决方法

装了新的ad14后,发现导入没有任何工具,之前的导入cadence,pads及其他的EAD工具的文件都没有,怎么办?以下是我的操作步骤:1.首先将安装盘放到光驱里面,如果是虚拟光驱安装,请运行iso文件。点击DXP–>>Externtion and updates,如果没有ISO文件,可以在网上更新。、出现下列界面,选择右面的configure,后会出现后面的画面,原...

2019-06-04 09:49:22 4434

原创 数字电路之原码、补码、反码的来由

众所周知,在数字电路中人们用二进制数来表示数值的大小,然而数有正负之分!如何区别二进制数的正负呢?为了解决这个问题,科学家们想到在二进制数的前面在再加上一位符号位,以此来区别二进制数的正负。1–代表负数,0–代表正数。然后又称这种带有符号位的二进制数称为原码。即原码=符号位+二进制数值然而引入原码确实可以区分二进制数的正负,但也带来了一个新的问题,如两个数相减最终结果的符号位是1(负)呢还是0...

2019-05-30 19:11:21 1177 5

newpagescfree.zip

新页仓库管理软件,安装非常简单,无需破解,10周年免费版生产管理软件免费版,进销存软件,仓库管理软件,库存管理软件,采购管理软件,免费进销存软件,免费仓库管理软件,免费库存管理软件,出入库软件,免费出入库软件,免费进销存,一直在使用

2020-08-19

AStyle_2.02.1_windows(格式化代码用).zip

Astyle(keil 格式代码神器)包含安装包与详细使用教程,轻松整理你的代码

2019-06-13

电磁屏蔽技术.pdf

超详细地介绍EMC屏蔽技术与原理 !

2019-06-04

verilog学习.pdf

Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的 数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之 间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。 Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构 组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模 语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设 计外部访问设计,包括模拟的具体控制和运行。 Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。 因此,用这种语言编写的模型能够使用 Ve r i l o g仿真器进行验证。语言从C编程语言中继承了多 种操作符和结构。 Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是, Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然 , 完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述

2019-06-04

单片机辅助软件.zip

洞洞板板上画PCB的专业工具,51黑论坛_取字模软件,虚拟示波器,USBISP下载线资料

2019-05-24

超详细课件哈工大第七版理论力学

哈工大理论力学第七版 哈工大理论力学课件第七版

2019-04-22

完全掌握Altium Designer 14超级手册 [杨晓琦 主编] 2015年版

完全掌握Altium Designer 14超级手册 [杨晓琦 主编] 2015年版 AD14电子书,带你入门带你飞。。。

2018-12-28

Multisim电子电路仿真教程

Multisim电子电路仿真教程作者朱彩莲,介绍了一种电子电路仿真软件——Multisim 2001。通过对该软件的学习和使用,读者可以轻松地拥有一个元件设备非常完善的虚拟电子实验室,进而可以完成电子电路的各种实验和设计。 本书介绍了一种电子电路仿真软件——Multisim 2001。通过对该软件的学习和使用,读者可以轻松地拥有一个元件设备非常完善的虚拟电子实验室,进而可以完成电子电路的各种实验和设计。 全书共9章。第l~4章主要介绍Multisim 2001软件的基本功能和操作,主要有Multisim 200l中电路的创建、元件库和元件的使用、虚拟仪器的使用和Multisim基本分析方法;第5~9章主要介绍Mulfisim 200l软件的应用,其中第5~8章分别从电路基础、模拟电子技术、数字电子技术、高频电子技术中选取了若干个典型实验进行:Multisim仿真分析,每个实验给出了实验目的、实验电路、仿真操作步骤和实验结果,第9章是Multisim2001在电子综合设计中的应用实例。 本书可作为高等院校电子技术类课程的软件实验教材,也可作为从事电子电路设计的工程技术人员的参考书。

2018-12-24

MULTISIM14电子系统仿真与设计第2版

本书系统地介绍了NI Multisim 14电路仿真软件的特点和使用方法,对基于该软件的电路仿真与分析、单片机系统设计仿真、梯形图程序设计仿真、Multisim 14与LabVIEW联合仿真、虚拟面包板和虚拟ELVIS 等内容作了详细介绍,并结合实例介绍了Multisim 14在电路分析、模拟电路设计、数字电路设计和电路故障诊断中的应用。 本书可作为大专院校师生学习Multisim的教材,也可作为电子系统设计领域工程技术人员或电子设计爱好者的参考书

2018-12-19

LP Wizard 10.2

LP Wizard 10.2 ,PCB封装自动绘制软件

2018-12-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除