自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DC-sdc 多周期约束tcl命令

最近在回顾STA相关的知识,遇到有的难理解的地方就记录下来。

2023-09-01 20:26:48 193

原创 AXI stream协议简易实现(基于System verilog)

axi stream协议很简单,就是传输数据,不像axi4和axi lite有多个通道,只有一对握手信号tready和tvalid,tdata数据流有三种类型,是根据TKKEP和TSTRB决定的,tlast是最后一个数据的标志。代码中并没有考虑传输类型,仅仅是为了熟悉stream协议以及interface的使用。最近再看AXI协议的内容,对axi stream进行简易的实现,便于以后回忆。2. 在实例化带有interface的模块时,需要传进去的是接口的。1.modport的端口方向:需要和声明的。

2023-08-18 22:25:18 743

原创 tmux配置和快捷键

不知道什么原因,gvim在虚拟机运行的很卡,所以不得不使用tmux来分屏管理。

2023-08-13 21:57:40 544

原创 C/C++ 随笔

表示连接作用,比如,#define CON(x,y) x##y,表示 x和y接在一起。:比如 #define PR(…) printf(_

2023-07-26 00:15:42 65

原创 位结构体实现C中的长度截断+符号位扩展

在做一生一芯的过程中,有一个隐蔽的bug找了好久,发现是由于不懂位结构体的操作。为了便于回忆,简要进行分析。

2023-07-06 01:18:28 152

原创 序列检测器(移位寄存器实现)

序列检测器可以用状态机实现,可以是摩尔(输出只与当前的状态有关),也可以是米利(输出不仅与当前状态有关,还和当前输入有关)。看到一篇帖子是通过移位寄存器实现的,所以就自己试了试,记录一下。相比于状态机实现,移位寄存器的思想很简单,就是比较,不停的比较,但是会带来一些功耗上的损失,与状态机实现的功耗相比如何,还需要进一步验证,但是确实可以节省面积。设置一个移位寄存器,每个上升沿都要左移一次(一定是左移,不能是右移),然后与10010作比较。明白了核心思想,代码和测试激励如下。

2023-06-02 14:38:35 658

原创 不同时钟切换的思考(verilog设计与实现)

在某些需要时钟切换场景下,根据选择信号来选择使用某一个时钟信号。

2023-05-30 16:27:21 585

原创 Makefile 笔记(make的运行)

Make 的默认行为是执行Makefile的第一个target,该目标一般会带起多个目标的执行。目标中有=,或者-打头的不能指定为终极目标,因为这些字符的目标会被解析成命令行参数或者变量。-C <dir> 指定读取Makefile的目录,如果有多个“-C”参数,make 的解释是后面的路径以前面的作为相对路径,并以最后的目录作为被指定目录。比如“make -C ~hchen/test -C prog”等价于“make -C ~hchen/test/prog”。可以使用多个“-I”参数来指定多个目录。

2023-05-25 19:37:34 515

原创 Makefile 笔记(使用函数)

为了熟悉Makefile方便,使用函数来简化脚本Makefile的函数不多,需要经常使用才能得心应手。

2023-05-24 18:17:13 49

原创 FIFO深度计算(理解有误的一个地方)

今天在看到fifo计算深度时,这个题的计算纠结了好久,原因是对题意理解不深刻。

2023-05-24 11:40:11 63

原创 Makefile 笔记(使用变量)

如果在命令行参数中代入该变量,环境变量的值会被覆盖。如果make时指定了-e,环境变量会覆盖Makefile中定义的变量。等号右侧的变量可以是Makefile文件后面的内容,就有可能导致递归,所以要使用 :=,表示只能使用前面的变量。也可以为某个目标target设置局部变量,该变量会作用到有这个目标所引发的所有规则区域。Makefile中定义的变量都是全局变量,$@ $^…类似C的define,强烈建议变量的引用使用括号,比如 $(var)

2023-05-22 20:34:19 150

原创 RISCV指令同步与AXI总线的Exclusive机制(个人理解)

LR指令,访问内存地址为(x20)的区域,load指令,同样访问(x20)的内存地址,如果没有其他master访问该地址,x11返回0,并将x23加载到内存地址(x20)中,x11是否为0,判断是否为原子访问,如果为原子访问,将(x20)地址的内存放在目的寄存器x10中。RISCV指令同步与AXI总线的Exclusive机制有相同之处,都是先发起读内存操作,再写内存之前,判断是否有其他master对该地址进行了写操作,如果有则回应OKAY,表示独占访问失败,交给master再次进行传输或者其他行为。

2023-05-22 14:47:07 701

原创 Makefile 笔记(书写命令)

有可能会终止整个make的执行;但是有时候命令出错是允许的,所以要在命令前加上“-”,表示忽略命令的出错。命令顺序执行,如果想要当前的命令在下一行使用,需要将下行命令放在当前行,并加上“;-k 表示命令出错时,终止该命令执行,但是继续执行其他规则。export var # 声明该变量传递给子make文件。make -w 进入或者退出目录时会有提示。-i make会忽略所有出错的命令。默认使用/bin/sh标准执行命令。或者通过命令行参数的方式,

2023-05-22 00:16:17 34

原创 C语言-二级指针的思考

在学习uC/os ii源码时,遇到了关于二级指针这样的例子,当时自己想了好久,现在分享出来供大家参考。

2023-05-16 20:02:09 57

原创 总线仲裁算法verilog实现

使用verilog实现简单的总线仲裁算法;固定优先级和轮询调度。

2023-04-22 09:36:56 290

原创 系统芯片设计SOC (GPIO&UART)

GPIO外设中有的会有防抖动的功能debounce, 施密特触发器可以滤除小脉冲小毛刺,但是对于大毛刺施密特电路是无效的,这时需要debounce电路,多次采样,如果不一样则滤除。GPIO不能模拟UART协议,因为UART协议是异步通信的,每一位数据的时间都是严格要求的。复杂的UART协议,还有握手信号,用来保证通知通信双方,当一方没有能力处理数据时,是否还要继续发送数据。②输入连接到MOS的栅上时,如果输入没有驱动,会产生大电流,增加功耗。在通信协议中,为什么有些用异步,比如uart,而不用同步呢。

2023-04-15 21:49:56 304

原创 linux 常用命令

压缩成.tar.gz文件: tar -czvf file.tar.gz files。压缩.tar.bz2文件: tar -cjvf file.tar.bz2 files。压缩成.tar文件: tar -cvf file.tar files。解压.tar.bz2文件: tar -xjvf file.tar.bz2。解压.tar.gz文件: tar -xzvf file.tar.gz。解压.tar文件: tar -xvf file.tar。

2023-03-30 20:16:42 52

原创 系统芯片设计课上笔记-AMBA总线

提示:来源于东南大学SOC课程。

2023-03-24 19:31:27 313

原创 系统芯片设计笔记 fifo&watchdog

串并转换一般用来各种低速通信协议中,比如UART, SPI, I2C等。UART的传输速率有9600,38400,191200等,K级别,CPU频率是M级别,串并转换可以作为数据缓冲模块,提高数据传输效率。

2023-03-21 10:59:02 308

原创 双沿计数器verilog实现

课上作业。

2023-03-16 10:17:56 142

原创 sdc--- input_delay和output_delay的设置和分析

design 需要和外界交互,有时候输入或者输出是组合逻辑,为了保证数据被正确采样,需要考虑输入和输出port的timing。

2023-03-15 20:05:13 616

原创 系统芯片设计课上笔记-Verilog复习(1)

上课笔记

2023-03-10 18:55:26 148

原创 带反馈回路的静态时序分析

静态时序分析例题

2023-01-01 16:53:10 204

原创 时钟抖动和时钟偏斜 jitter&skew

首先,正的时钟偏斜是有利于建立时间的,因为我的接收时钟沿是晚到达的,所以有利于我数据的提前建立。但是对于我的保持时间是不友好的。• 在设计中通常要尽力减小时钟偏差,但有时也利用它来解决竞争。时钟抖动对于电路时序总是坏的,而时钟偏斜要单独分析。负时钟偏差会带来性能的降低,正偏差会使竞争更容易发生。• 时钟抖动总是导致性能降低并增加竞争发生的风险。• 在设计中总是尽力减小时钟抖动。

2022-11-05 16:01:36 302

原创 对于逻辑努力的一点理解

在确定NOR和NAND的尺寸时,我们考虑的是让他们电阻与对称反相器相等,但是并没有考虑电容前后相等,增加宽长比势必会改变输入电容。对于NAND来说,输入电容变为4Cuint,也就是反相器的三分之四,NOR为反相器输入电容的三分之五。根据前面等效的方法,两个逻辑门的输出电阻相同,g不同,那么他对前级的负载是不同的,显然,NOR的负载更大一些。本征时间常数只与逻辑门的结构有关,从公式可以看出尺寸系数S不影响τ的结果,一旦逻辑门的结构确定了,与尺寸大小无关。在这个图中,也涉及到了逻辑努力的概念。

2022-10-23 11:18:01 3549 1

原创 Vivado 中复数运算ip核的使用(带小数)

Verilog小数运算在vivado中使用IP核的实现

2022-09-01 16:46:45 1779 3

空空如也

空空如也

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

TA关注的人

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