自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 UVM(1)——OOP overview

面向对象的编程OOP首先回顾SystemVerilog中class的三大特性——封装性、继承性和多态性。封装性SV中的class中的成员包括:变量:用于数据建模子程序:用于数据操作继承性class可以通过基类(父类)派生新类(子类),新类会继承基类的所有数据和数据处理(方法)。派生类兼容基类函数的形参为父类,同时也可以传入基类的子类。父类和子类可以相互转换。多态性多态性涉及到虚方法(virtual method),实方法看句柄的类型,虚方法看对象的类型。方法不带virt

2022-05-07 18:46:42 573

原创 sv-------------

SV Interface and Program名字位宽完全相同modport@arbif.cb 等于@(posedge arbif.clk)仿真时间域vcs -R -sverilog bit_logic_operator.sv 1.sv 2.svProgrammingOPP Class...

2022-04-23 21:52:59 325

原创 AMBA总线

系统总线简介性能瓶颈:每次只能有一对Master和Slave进行通信AMBA2.0发展历史AHBAHB组成部分二级译码:根据地址的两块数据位来判断Slave例子:DMA步骤确认DMA状态,此时CPU作为Master,DMA作为Slave设置source和destination地址,以及数据大小AHB总线Master需要使用总线时先要向仲裁器Arbiter进行申请Master得到Arbiter许可后,仲裁其操作MUX选择将特定的Master进行输出

2021-12-14 21:01:10 1028

原创 MCU项目芯片介绍

芯片IP模拟IP:处理模拟信号的模块如ADC模块Design ware IP:Synopsys提供的成熟的IP,降低风险Soft IP:verilog代码软核只提供代码,不提供物理工艺硬核经过了DRC(Design Rule Check)设计规则检查,LVS验证(用来验证版图和逻辑图是否匹配)简介–系统功能32位ARM CPUBoot:启动程序DMA控制器(Direct memory access)SPI:串口简介-外部接口架构灰色部分是模拟的...

2021-12-13 13:05:59 3319 2

原创 SpyGlass CDC 检查

SpyGlass的作用SpyGlass lint的检查语法检查CDCLow Power检查约束检查DFTSpyGlass CDC的检查CDC setupCDC setup checkCDC structural verificationCDC functional verificationSpyGlass 问题、目标、规则

2021-12-11 21:10:56 1031

原创 CDC设计实例

Mux sync门控单元:clock gating动态的时钟切换:glith free clock switchmux syncenable信号同步两拍,以保证信号的稳定。信号不打拍。enable信号到时,把信号同步过去。ICG:Integrate Clock Gating Cell减少时钟功耗,clock和data的跳变的功耗叫做dynamic power,当数据不变时,需要将clock停住(gating),以减少功耗,可以用AND和OR gate,前者时0是enable,后者是1是e.

2021-11-30 22:14:32 772 1

原创 同步和异步FIFO

FiFo外部是没有地址的,外部端口只负责读写,内部RAM有地址FIFO可以在一边读,一边写,两边读写速度可不一样,RAM中的控件可以重复利用,某个数据位读走后,可再存入新的数据。两边速度不同的情况下,RAM的空间和两边读写速度满足一定的公式就可随意读写FIFO中的RAM设计module dp_ram #(parameter DLY = 1, RAM_WIDTH = 8, RA.

2021-11-28 12:54:26 2624

原创 有限状态机

自动饮料机Moore型状态机Moore:输出只与当前状态有关,与输入没有关系代码(三段式)`timescale 10ns/1nsmodule drink_status_moore( input clk, input reset, input half, input one, output out, output cout); parameter [2:0] S0 = 3'b000,

2021-11-27 19:42:10 171

原创 3. 内存控制器与SDRAM

内存控制器(内存接口设备)地址处于不同的范围,会发出不同的片选引脚,换句话说,SOC外接的不同内存芯片,会有不同的地址范围。CPU统一编址包括GPIO,各种协议类接口控制器(UART,I2C…),内存设备接口,nand flash控制器(nand flash芯片本身不受cpu统一编址)。每个片选信号可选择的地址范围空间为128M,至少需要27条地址线。CPU发送32为地址 -> 内存控制器 -> 发出27为地址信号和片选信号时序图分析可编程访问周期2440读时序图Nor Flas

2021-10-11 22:26:02 321

原创 内存SDRAM

物理Bank物理Bank的位宽CPU在一个传输周期内能接受的数据容量就是CPU数据总线的位宽(bit),这个位宽就是物理位宽。SDRAM内存需要组成一个P-Bank的位宽,才能使CPU正常工作。芯片位宽芯片每个传输周期能提供的数据量,假如芯片位宽是16bit,物理Bank位宽是64bit,那么就需要4颗芯片才能使CPU正常工作逻辑BankSDRAM内部是一个存储阵列,可以做到随机访问,阵列如同一张表格,有列(Column)和行(Row)。这张表格就称之为逻辑Bank(Logical Bank,L

2021-10-11 19:20:52 294

原创 2. S3C2440的串口(uart)裸板开发

串口的作用打印调试信息外接各种模块(GPS、蓝牙)特点:结构简单可靠只需要三根线就可以完成ARM开发板和PC机之间的内容传输。TxD:发送RxD:接收Gnd:地线怎么发送1byte字母’A’给PC机3. 双方约定每一位(bit)发送所占用的时间,称为波特率4. ARM开发板把原来高电平的TxD线拉低,报纸1bit时间,称为开始位(start bit)5. PC机在低电平开始处计时6. ARM根据要发送的数据驱动电平,逐位发送,TxD=Data[0],TxD = Data[1]…

2021-10-11 18:06:27 241

原创 1. S3C2440时钟体系结构及裸板开发

linux

2021-10-11 10:00:53 221

原创 nfs传输出错问题解决

NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象.可用的解决方案是:在客户端改用TCP协议,使用下面的命令,mount -t nfs -o intr,nolock,tcp,rsize=1024,wsize=1024 192.168.100.10:/home/nfs /mnt/nfsmount -t nfs -o nolock -o tcp 192.168.100.10:/home/nfs /mnt/nfs...

2021-10-08 19:51:09 423

原创 平台总线驱动编程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录设备驱动模型和sysfs平台总线模型平台总线驱动编写设备驱动模型和sysfsLinux设备驱动开发流程实现入口函数xxx_init()和卸载函数xxx_exit()申请设备号 register_chrdev利用udev/mdev机制创建设备文件(节点)class_create,device_create硬件部分初始化 io资源映射ioremap,内核提供gpio库函数注册中断构建file_operations结

2021-10-08 10:30:27 2318 1

空空如也

空空如也

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

TA关注的人

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