- 博客(49)
- 资源 (1)
- 收藏
- 关注
原创 pcie dllp FC
关于pcie dllp FC内容:源地址:PCIe(三)—— PCIe协议栈,事务层和数据链路层 | Soul Orbit除了传输TLP数据包之外,数据链路层还需要很多专门用于控制的数据包,比如上面提到的Ack和Nak,这些数据包叫做DLLP(Data Link Layer Packet)。其格式如下:注:所有的DLLP包均为固定长度的64b;8Byte。在128/130b编码下SDP内容为:0xf0ac, verdi波形显示的字符为rmlh_data[15:0] 低16bit内容(大小端的影响);且该DL
2024-03-23 12:50:06 1057
原创 verilog parameter
verilgo parameter可以用于组合逻辑判断语句:eg:input A,output BA:0;endmodule或:B = A;elseB=0;
2023-11-06 13:56:39 212
原创 CXL寄存器的描述
具体内容可参考下文。:pcie空间中以DVSEC capability进行实现,实现相关的cxl寄存器。DVSEC:pcie定义的一种vendor extend capability。在pcie空间中基地址偏移0x700+.上图定义pcie定义的cxl device相关dvsec示意图。cxl device 在host向device空间映射时最多可以映射两块device physical address。vendor-specific header1为1E98h。
2023-09-19 09:55:31 653
原创 VScode 编译python FileNotFoundError: [Errno 2] No such file or directory
vscode FileNotFoundError: [Errno 2] No such file or directory:
2023-01-30 17:04:21 471
原创 vcs编译vivado原语:
使用vcs+verdi问题较少;使用vlogan+vcs+verdi三步编译:vlogan:vlogan -V -sverilgo -ignore unique_checks +libext+.sv+.vp+.vlib+.svh -l ./vlogan_compile.log -no_error MPD -timescale=1ns/1ps -full64 +v2k -kdb -lca $(youself_filelist)vcs:vcs -licqueue -ignore unique
2021-12-20 18:38:40 5187
原创 verilog练习题Exams/2012 q2b
Assume that a one-hot code is used with the state assignmenty[5:0]= 000001(A), 000010(B), 000100(C), 001000(D), 010000(E), 100000(F)Write a logic expression for the signalY1, which is the input of state flip-flopy[1].Write a logic expression for th...
2021-11-03 19:54:50 227 2
原创 verilog训练题serial receiver
In many (older) serial communications protocols, each data byte is sent along with a start bit and a stop bit, to help the receiver delimit bytes from the stream of bits. One common scheme is to use one start bit (0), 8 data bits, and 1 stop bit (1). The l
2021-10-19 19:08:54 225 1
原创 vivado AXI_interconnector ID信号的一些总结
很久没有写东西了。最近尽力了很多生活上的事情,最终也算圆满结局。言归正传:主要是以AXI4为背景介绍4组ID信号,以及其计算方式。对照vivado PG059以及PG247。见解都是基于个人所学,会有偏差还望谅解。AXI4中去掉了WID,所以write不再支持interleaving功能;具体解释:深入 AXI4 总线(五B)多主机传输事务场景 - 知乎知乎的一份关于AXI4协议的解读,总体讲的很好。其余四组ID信号的意义不再描述、AxID主要有master提供,BID、RID由slave提供.
2021-09-30 14:28:14 4311
原创 vscode 配置c/c++环境,与python共用。
每个人的电脑路径因人而异,下面只是我的配置,仅供参=参考。vscode的安装以及插件软件的安装根据另一个博主的帖子:https://blog.csdn.net/weixin_44049923/article/details/103619882.vscode下文件:c_cpp_properties.json、CMakeLists.txt、extensions.json、launch.json、settings.json、tasks.json1、c_cpp_properties.json{
2021-02-22 10:01:40 2447
原创 C语言指针的赋值和初始化的看法
https://blog.csdn.net/liuchunjie11/article/details/80333224在查看上述博客时,修改代码#include <stdio.h> const int g_cc = 4; int main(){ const int cc = 0x01; int* p = (int*)&cc; int* p = NULL; *p = (int*)&cc; //不能运行,编译器提示把in
2021-02-03 15:11:31 122
原创 C语言动态内存分配哦
转自:https://www.bilibili.com/video/BV1Vk4y1z7sA?from=search&seid=14825244506879083081动态存储区称为栈;静态存储区称为堆。对内存的动态分配是通过系统提供的库函数实现的,主要有:malloc(分配),calloc,free(释放),realloc(重复加载)四个函数。void *malloc(unsigned int size); //在内存的动态存储区分配一个长度为size的连续空间。形参size..
2021-02-01 11:31:50 126
原创 面向对象继承
//面向对象:继承//人class CPerson () {public: CPerson () {}; ~CPerson () {}int GetGender() {return m_nGender;}void SetGender(int nGender) { m_nGender = nGender;}private: char m_szName[255]; int m_nGender; };}//////方法2:继承//.
2021-01-28 20:35:50 96
原创 析构函数
析构函数:构造与析构是相反的过程析构函数的调用:https://www.bilibili.com/video/BV1jJ411279W/?spm_id_from=trigger_reload#include "stdfx.h"//函数是在栈上面的,栈上的局部对象调用时机//构造:声明该对象是构造//析构:对象出作用域时//全局对象的调用时机//在main之前构造//在main之后析构//析构函数://1.作用:完成资源的反初始化,资源的释放,避免内存泄露//2.析构函数的写法:
2021-01-28 17:23:25 510
原创 构造函数
构造函数的作用以及写法:https://www.bilibili.com/video/BV1jJ41127dx/?spm_id_from=trigger_reload构造函数的调用:https://www.bilibili.com/video/BV1jJ41127RB/?spm_id_from=trigger_reload#include "stdafx.h"#include <stdlib.h>#include <string.h>//构造与析构//构造函数:类
2021-01-28 16:49:43 1250
原创 C++类
转自哔哩哔哩:https://www.bilibili.com/video/BV17J41127Hn?t=858//面向对象://1.封装//2.继承//3.多态////结构体---structstruct WashMachine{int nWidth;int nHeight;int nLength;int nType;int nBland;void wash(Cloth& cl) {printf("洗衣服 颜色=%d 大小=%d\r\n",cl.nColor,cl.
2021-01-28 14:55:40 171
原创 ch9 Example Design: Floating-Point Unit
第九章 浮点运算单元之前提到的都是固定点运算.本章的目的是描述用于实现加减运算的流水线架构分析执行情况。当不考虑边界条件或给定浮点表示形式的整个数值范围的最大值时,通过操纵尾数和指数来实现浮点加减运算非常简单。特别地,在标准中提供了一个称为“次标准区域”的区域,为数字表示的低端附近的数字提供额外的精度。...
2021-01-28 09:41:53 172 2
原创 AXI总线详解附带C2C
使用的是xilinx芯片AXI总线协议。首先说明一下AXI总线是内部总线,主要用于读写地址;且地址与数据可以乱序排列(支持突发模式)。https://zhuanlan.zhihu.com/p/96804919转自知乎,详细介绍AXI读写过程以及master、slave握手协议的方式。一般来说,总线位宽和burst size一致的,所以有时读写地址时会在前段加上一些固定的偏移地址。AXI-LITE是Burst-length严格定于1, burst size严格定于总线位宽的AXI.AXI-FULL作.
2020-09-29 15:38:50 2818
原创 《advanced FPGA designed》ch7 example design:I2S versus SPDIF
第七章:I2S与SPDIF 的例子7.1总述I2S时序。7.1.1代码分析7.1.2代码用了两级流水线。7.1.3分析:1.使用延迟有效位同步输出。2.双向的触发器输入流3.FIFO输出
2020-07-01 17:48:16 661 1
原创 串行总线的详解XAUI/XLAUI SFP+ PCIE SATA QPI
主要介绍一下工作常用到的串行总线:FPGA DMA控制器:DMA:direct memory access;包括一条地址总线,一条控制总线,和控制寄存器.1.XAUI和xlauihttps://blog.csdn.net/lxm920714/article/details/82080963https://blog.csdn.net/lxm920714/article/details/82080963并行中称为xgmii;串行中称为XAUI.2.SFP+通常所说的光模块
2020-05-20 17:04:58 1608
原创 advanced FPGA designed ch5 HIGH-LEVEL design
本章主要介绍几种高效的设计方法:*图解的方式进行抽象的状态机设计*在matlab 中灵活的使用DSP资源*软件.硬件编码设计5.2状态机图解通过设计一个低通滤波器,抽象出该程序状态机....
2020-05-08 14:36:49 397
原创 《advanced fpga designed》 aes ch4 example design advanced encryption standard AES verilog
AES:先进的加密标准。更容易意味着更少的设计错误(更可靠)和更快(简单的组合逻辑)4.1 aes 结构aes是对称的加密方式,将128位明文对应为128位密文。(可以为128,192,256位)aes具体解释:https://blog.csdn.net/qq_28205153/article/details/55798628Nk =Keysize/Wordsize;Nk密钥长度,...
2020-04-28 23:48:16 202
原创 《advanced fpga designed》 ch3 architecting power
这一章讨论第三个物理特性,功耗。一些FPGA厂商提供低功耗的CPLD但是这些器件在尺寸和性能上并不够强大。在cmos中电容损耗定义为:I =V *C *f。电容C与在任何给定时间触发的门的数量和连接门的路径的长度直接相关。我们主要谈论以下几个方面:*时钟在动态功耗中的控制*在门控时钟上管理时钟偏斜。*输入功耗控制,核电压影响,双边缘触发器的指导,在终端降低静态功耗。3...
2020-04-17 22:58:00 153
原创 《advanced fpga design》ch2 architecting area
逻辑资源的优化。主要讨论一下方面:*汇总流水线计算以便在不同阶段重用逻辑资源。*当自然流不存在时,管理逻辑复用。*共享逻辑资源在不同的功能区域。*复位对资源优化的影响。2.1rolling up the pipeline与上一章提到的禁止闭环是相反的关系。禁止闭环的做法:增加了资源耗用,复制需要并行运行的计算结构。因此将pipeline形成闭环可以复用逻辑资源,在高度重复流...
2020-04-08 23:22:48 261 2
原创 《advanced fpga designed》
1.3时序1.3.1增加寄存器层此技术应用于高级 流水线设计中,其中额外的时钟周延迟不会违反设计规则。举例:FIR设计不满足时序要求(即关键路径中的延迟大于一个时钟周期)注:fir:有限冲击响应数字滤波器,一般为非递归性结构冲击响应在有限时间内衰减为0;其输出紧取决于输入信号。稳定性和线性是其最大特点。例子中通过增加register使得乘法器和加法器分离。并且乘法器是很好的流水线选...
2020-04-06 22:23:11 191
原创 《advanced fpga designed》
2020/04/03 从事fpga开发经典图书。今天开始阅读英文原版。因为买到的汉语版本讲的很差。上图很清晰的说明了软件的处理流程,解释了为什么只要改动rt必须从头编译。第一章:介绍archetictor speed三大影响因素:吞吐量,延时,时序(在逻辑内部主要有器件本生决定)...
2020-04-04 23:13:02 253
原创 转行做FPGA的第一周
两年前开始读研究生,当时距离15本科毕业已经过去了2年,15-17年一直零零碎碎的做硬件工程师。感觉做的还可以,但是挣钱太少了,所以从研究生一开始就开始准备转行敲代码。因为很火吧。哈哈哈进入正题,最后还是选择去做FPGA相关的,现在已经入职整一周了。还是感觉自己要学的东西太多了,就先写这么多吧,没什么技术性的东西,以后会每周更新的(争取)。加油!...
2019-08-10 00:13:59 2092
原创 关于stm32f4 discovery USart1(PA9,PA10)正点原子不能正常通信的问题
1.如题所示使用正点原子的usart实验,烧录之后没有反应;使用usart2口可以很正常发收,排除了板子和串口之间的问题。2.总结一下为什么不可以使用PA9,PA10作为usart1的原因。查看discovery板子原理图发现两个引脚使用了usb otg功能(百度百科:USB OTG是USB On-The-Go的缩写,是近年发展起来的技术,2001年12月18日由USB Implementers ...
2018-05-18 21:55:06 5175
原创 stm32f407输入捕获
STM32 的输入捕获,简单的说就是通过检测 TIMx_CHx 上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA 等。1.配置一般步骤1.。初始化定时器和相应io口时钟;2.。初始化io口,模式为复用 GPIO_Init();3.。设...
2018-05-14 13:56:20 5096
原创 stm32f407 输出pwm波
1. pwm:脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。占空比一般都是以高电平所占时间比例。2. 相关函数:TIM_OCxInit :相关通道初始化...
2018-05-07 23:07:37 9675
原创 stm32f407介绍
1.内部16MHz高速晶振2.内部32KHz,看门狗时钟。3.ADC:3个12位AD【多达24个外部测量通道】,内部可用温度测量4.DAC:2个12为da5.定时器:17个定时器
2018-05-07 10:18:05 7451
原创 stm32f407通用定时器
clk_int = 84M;计数器当前值计数器:CNT; 预分频计数器:TIMx_PSC;自动重装在寄存器:TIMx_ARR;控制寄存器:TIMx_CR1;TIMx_DIER;中断势能寄存器TIMx_DIER;库函数配置:TIM_TimeVaseInit();定时器中断实现步骤:使能定时器时钟(定时器为外设);初始化定时器(配置ARRPSC)开启定时器中断,配置NVIC;使能定时器;编写中断服务函...
2018-05-07 09:59:52 2934
原创 基于Arduino的hx711压力传感器压力实现(使用42步进电机)
功能:利用HX711模块读取压力值,之后通过步进电机实现压力的反馈。HX711接线图如图所示。HX711模块的代码详解部分:参见以下两个博客HX711:https://zhidao.baidu.com/question/264369483509377325.html https://blog.csdn.net/github_27587443/article/details/71864003hx71...
2018-05-03 14:09:15 18806 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人