- 博客(42)
- 收藏
- 关注
原创 SPI学习笔记
的缩写,顾名思义就是。。SPI接口主要应用在 EEPROM,,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,通信总线,并且在芯片的,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。SPI仅定义了传输的信息,并未对传输的数据内容含义进行定义,用户需查阅相关产品的datasheet查看;
2024-03-12 15:55:41
825
原创 I2C学习总结
I2C(Inter-Intergreted Circuit) 是一种串行通信协议,用于集成电路之间完成数据传输,i2c用广泛用以各种领域,包括电子设备、嵌入式系统、工业自动化等;i2c仅仅只是一个数据传输的协议,具体传输的数据用途由上层决定;
2024-03-12 14:41:08
1585
原创 芯片设计方法学之--握手
本文主要介绍握手的基本概念,读者可通过该篇文章对握手有个基本概念。也借此机会发表下自己对流水线中的握手反压的一些愚见。更深的理解可期待后续更新;
2024-02-07 15:59:17
2388
原创 VIM编辑器常用快捷键
代表输入后可等待如g,g代表连续输入两个g中间可停留;代表或,即多种快捷键均可实现;快捷键之间可以自己尝试进行组合,说不定就可以!!!
2023-07-04 20:40:31
496
原创 SDC常用命令说明
sdc(synopsys design constraints)是后端芯片设计的命脉,对电路的时序、面积和功耗进行约束。该约束与芯片规格相匹配才能发挥自己的作用。约束不能松也不能紧,太松了达不到芯片的功能要求。太紧了对成本,布局布线都不太友好。所以需要寻找个适中的点,也是很多工作的难点都是找到一个平衡点。
2023-06-18 16:28:46
3397
2
原创 CDC工作总结
CDC工作是进行交付代码之前必须要做的一步检查,尤其是当一个系统设计人员水平不一时,该检查不可忽略;关于进行的异步检查我就不细讲了,主要有如下问题的check;时钟毛刺/信号毛刺问题;同步信号聚合问题;多bit信号同步问题;指定输入port a所属的时钟域为VK1;
2022-12-26 10:07:32
2633
原创 CPU自制入门
1. 计算机系统2.数字电路基础3.Verilog HDL语言4.系统蓝图5.I/O的设计与实现6. SPI、I2C、UART、CAN总线简介1.**SPI总线**2. I2C3.UART4.CAN5. 对比
2022-11-26 14:48:25
1586
原创 python入门教程
1. 基础2. 控制流1.if语句2. while语句3. for...in语句4. break / continue 语句3. 函数4. 函数导入5.数据结构1. 列表2.元组3. 字典4.序列5.集合6.引用6.其它1.self2.__init__3.继承7.文件操作
2022-11-26 14:34:07
350
原创 硬件架构的艺术-数字电路的设计方法与技术
1.硬件架构设计的艺术;2.亚稳态的世界;2.时钟和复位3.多时钟域设计的难题4.时钟分频器5.低功耗设计6.流水线技术7.处理字节顺序8.电磁兼容性能设计指南—看门狗3.多时钟域设计的难题
2022-11-26 14:12:43
805
原创 AHB总线协议
1.ahb协议详解;2.ahb接口;3.htran/hburst/hsize/hresp4.hreadyout 与hready_in;
2022-10-16 22:52:14
3674
原创 APB3.0协议详解
APB接口用在低带宽和不需要高性能总线的外围设备上。 APB是非流水线结构,所有的信号仅与时钟上升沿相关,这样就可以简化APB外围设备的设计流程,每个传输至少耗用两个周期。APB可以与AMBA高级高性能总线(AHB-Lite) 和AMBA 高级可扩展接口 (AXI)连接;APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。其特性包括:两个时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号。
2022-09-18 16:13:05
5987
原创 systemverilog之SVA断言
断言用于check设计,可以说断言check是最原始的check,最基础的check;只有满足所以断言都通过了,也就是符合设计者本身的了,才可以交给验证工程师进行进一步的功能验证;可以说断言可以保证基础的原则;一个之前在项目里比较经典的断言就是在fifo中加入,因为这是个公共的ip,很多地方都会调用到,所以某些设计者就可能没有注意到这个,自检可能也不会check到这种FIFO场景。.........
2022-08-26 17:28:58
1950
原创 关于仲裁的那些事
本文介绍固定优先级仲裁和轮循仲裁,并给出相关的实现代码;重点在轮循仲裁中,给出调用固定优先级的ip实现以及使用mask方法实现;
2022-07-31 17:08:37
516
原创 hdlbit刷后感
目录Notgategenerate使用bit位拼接Module cseladd阻塞赋值与非阻塞赋值多个if层次Always case2三目运算符exams/ece241_2014_q4exams/ece241_2013_q7EdgedetectCountbcdCount clockShift18Exams/ece241 2013 q4Lemmings1Fsm serialExams/2014 q3fsmExams/201...
2022-05-07 16:58:14
2899
原创 刷VHDLbits题目记录
1.Exams/review2015 count1k建立一个从 0 到 999 的计数器,包括 0 到 999,周期为 1000 个周期。复位输入是同步的,应将计数器复位为 0。module top_module ( input clk, input reset, output [9:0] q); always@(posedge clk) begin if(reset) q <= 0; //复位后q赋值为零
2022-02-05 23:19:31
1271
2
原创 关于UVM中的sequence(五)
8、sequence的进阶应用嵌套的sequence假设一个产生CRC错误包的sequence如下:另外一个产生长包的sequence如下:现在要写一个新的sequence,它可以交替产生上面的两种包。那么在新的sequence里面可以这样写:似乎这样写起来显得特别麻烦。产生的两种不同的包中,第一个约束条件有两个,第二个约束条件有三个。但是假如约束条 件有十个呢?如果整个验证平台中有30个测试用例都用到这样的两种包,那就要在这30个测试用例的sequence中加入这些代码,这
2021-12-25 17:23:49
878
原创 关于UVM中的sequence(四)
5、sequence中使用config::db在sequence中获取参数能够调用config_db::get的前提是已经进行了set。sequence本身是一个uvm_object,它无法像uvm_component那样出现在 UVM树中,从而很难确定在对其进行设置时的第二个路径参数。所以在sequence中使用config_db::get函数得到参数的最大障碍是路径问题。在UVM中使用get_full_name()可以得到一个component的完整路径,同样的,此函数也可以在一个seque
2021-12-25 17:21:45
4704
原创 关于UVM的Sequence(三)
virtual sequence 的使用实现sequence之间同步的最好的方式就是使用virtual sequence。从字面上理解,即虚拟的sequence。虚拟的意思就是它根本就不发送transaction,它只是控制其他的sequence,起统一调度的作用。如图所示,为了使用virtual sequence,一般需要一个virtual sequencer。virtual sequencer里面包含指向其他真实sequencer的指针:在base_test中,实例化vsqr,并将相
2021-07-21 20:36:07
565
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人