- 博客(39)
- 资源 (1)
- 收藏
- 关注
原创 SPI
SPI :主控端与一个或多个从设备间基本的同步串行通信。主控端器件时一个微控器或是有FPGA,送出时钟(SPC)与芯片选择信号(CS)到从设备, 并通过数据信号(SDI/SDO)与从设备做数据交互。包含:CS, SPC, SDI, SDO。CS是从设备的使能控制项,是由SPI主控端控制。当CS被拉到低电平,传输开始,当CS拉到高电平时,传输结束。SPC是串行接口时钟,也是由SPI主控端控制。SDI与SDO分别为从设备串行接口的数据输入脚与数据输出脚。此SDI与SDO数据线是在SPC的下降沿.
2021-05-11 17:52:27
693
原创 UVM基础 1
UVM是验证平台,主要包括的组件如图所示:主要包含的组件有:uvm_driver, uvm_monitor,uvm_sequencer, uvm_sequencer,uvm_env, uvm_agent, uvm_scoreboard.uvm_driver:从sequencer获取transaction,并将transaction转换成DUT接受的PIN级信号,把transaction里的信息传给DUT端口。uvm_monitor:监视...
2021-04-26 18:42:38
264
原创 第一次运行UVM
最近在学uvm, 想先试着搭建一个UVM并运行来。记录一下步骤吧我看的书是《UVM实战》并下载了对应的example的源码example_and_uvm_source_code.tar.gz解压之后里面还有两个压缩文件puvm.tar.gz(例程源码)以及uvm-1.1d.tar.gz(UVM库)解压之后进入puvm文件夹,在该路径下有setup.xxx(xxx表示使用的仿真器),我使用的是vcs所以修改setup.vcs脚本。setenv VCS_HOME /opt/vcs/E-201
2021-04-09 16:44:38
715
1
原创 vnc viewer灰屏的解决方法
vnc能够连接上,但是进入界面灰屏。先关闭当前打开的vnc:vncserver -kill :88然后修改权限:chmod +x ~/.vnc/xstartup然后重新打开vnc:vncserver -geometry 1920x1010 :88
2021-02-18 21:32:09
3111
原创 perl脚本进制转换
(1)将十进制转换成十六进制使用sprintf();my $one=255;my $two=sprintf("%1x",$one);(2)将十六进制转换成十进制使用hex();my $two= "ff";my $one=hex($two);
2020-08-24 18:35:09
921
翻译 linux系统调用
底层文件访问(1)write 系统调用write的作用是把缓冲区的buf的前nbytes个字节写入与文件描述符fildes关联的文件中,返回是写入的字节数。如果这个文件描述符有错或者底层的设备驱动程序对数据块长度敏感,返回值可能会小于nbytes,如果返回0,表示未写入任何数据, 如果是-1,就表示在write调用中出现了错误,对应的错误代码把偶才能在全局变量errno里面。函数调用原型:#include <unistd.h>size_t write(int fildes,
2020-08-15 23:04:58
120
原创 shell脚本
条件:(1)检查文件存在:test -f <filename>if test -f fred.cthen...控制结构(1)ifif conditionthen statementselse statementsfi(2) elif(3) for语句for variable in valuesdo statementsdone...
2020-08-15 22:38:54
92
原创 安装protobuf
cd cd protobuf-2.5.0./configure --prefix=/usr/local/libmake && make install
2020-05-28 18:38:03
201
原创 安装gmock
在编译code的时候用到了gmock,安装的时候也遇到了一些坑,在这里记录下吧。下载的是googletest-release-1.8.0.zip,解压后有googlemock和googletest目录。进入gmock目录下,进行cmake..,然后make编译,编译好之后就在googlemock/googlemock路径下生成了libgmock.a,然后将该文件拷贝到/usr/local/lib下,并将googlemock/include目录下的gmock文件夹拷贝到/usr/local/inclu
2020-05-28 18:21:49
1799
原创 DHCP服务
DHCP服务器用来给其它设备分配IP,便于自动获取IP地址的主机能够正常获取IP、DNS、网关等。DHCP是网络七层里面---应用层上的一种协议DHCP 和客户端相互发送四次数据通信1、客户端开机,客户端以广播的形式发送DHCP Discovery这个信号,同一网段的所有主机都会收到这个信号。2、DHCP服务器向客户端发送一个信号,DHCP offer(包含IP,MASK,GW,DNS)3、客户端收到DHCP offer数据后,向DHCP服务器发送一个DHCP Request数据;.
2020-05-25 18:03:05
246
原创 Linux两台主机之间建立信任(ssh免密码)
在01机器上执行:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa #生成rsassh-copy-id -i ~/.ssh/id_rsa.pub 用户名@02机器ip #复制01的公钥到02机器上,这样就可以使用在01机器上免密码登录02机器了。在02机器上执行ssh-keygen -t rsa -P '' -f ~/.ssh/i...
2020-04-28 10:55:23
223
原创 关于sudo:no tty present and no askpass program specified
输入:sudo visudo之后在最后加上usrname ALL=(ALL) NOPASSWD: ALL然后就ok了。针对的是ubuntu 16.04
2020-04-27 16:55:09
355
原创 verilog中wire与reg的区别
wire表示直通,即只要输入有变化,输出马上无条件的反映;reg表示一定要有出发,输出才会反映输入。不指定就默认为1位wire类型,专门指定出wire类型,可能是多为或为使程序易读。wire只能被assign连续赋值,reg只能在initial和always中赋值。wire使用在连续赋值语句中,而reg使用在过程赋值语句中。在连续赋值语句中,表达式右侧的计算结果可以立即更新表达式的左侧。在...
2020-04-21 10:46:28
694
原创 Ubuntu 16.04升级gcc 到 gcc7.2.0
最近在跑编译的时候提示:error: cannot convert 'const std::__cxx11::basic_string<char>' to 'const char*'使用gcc -v查看gcc的版本,发现gcc的版本太低,需要升级gcc的版本。本来打算使用sudo apt-get upgrade升级,但是使用该命令的时候出现错误:libstdc++.so.6: ...
2020-04-05 14:39:09
2309
1
原创 linux动态链接库
ldd +可执行文件:就可以看到执行文件所需要的动态链接库可以把export LD_LIBRARY_PATH=xxx如果运行时发现找不到某个库,最简单的方法就是找到这个库,然后把位置加上例如:export LD_LIBRARY_PATH=./bin:/usr/local/lib...
2020-02-27 22:02:33
210
原创 linux
(1)chmod系统调用通过chmod系统调用来改变文件或目录的访问访问权限(2)chown系统调用超级用户可以使用chown来改变一个文件的属主。mmap函数mmap函数的作用是建立一段可以被两个或更多个程序读写的内存。一个程序对它所做出的修改可以被被其他程序看见。mmap函数创建一个指向一段内存区域的指针,该内存区域与可以通过一个打开的文件描述符访问的内容相关联。...
2020-02-02 22:30:17
110
原创 linux 相关函数
(1)fopen函数fopen函数类似于底层的open系统调用,主要用于文件和终端的输入输出,如果需要对设备进行明确的控制,最好使用底层系统调用。#include <stdio.h>FILE *fopen(const char *filename, const char *mode);fopen在成功时返回一个非空的FILE *指针,失败时返回NULL值,NULL值...
2020-01-31 20:53:38
280
原创 linux读写文件
硬件的特有功能可通过ioctl系统调用来提供。open:打开文件或设备read:从打开的文件或设备里读数据write:从文件或设备写数据close:关闭文件或设备ioctl:把控制信息传递给设备驱动程序。系统调用write的作用是把缓冲区buf的前nbytes个字节写入与文件描述符filedes关联的文件中。它返回实际写入的字节数。如果文件描述符有错或者底层的设备驱动程...
2020-01-18 22:43:42
158
原创 shell脚本
使用引号:如果想在一个参数中包含一个或多个空白符,就必须给参数加上引号。$foo变量在引号中的行为取决于使用的引号类型。如果把一个带有$字符的变量放在双引号中,程序执行到这一行就会把变量替换成它的值;如果放在单引号中,就不会替换,还可以在$字符前面取消它的特殊含义。把程序的内容保存后,要chmod +x filename 命令设置为可执行。脚本检查文件是否存在:test -f <f...
2020-01-13 19:39:19
104
原创 ipcrm命令
ipcrm命令移除一个消息对象,或者共享内存段,或者一个信号集,同时会将与ipc对象相关链的数据也一起移除。ipcrm -M shmkey 移除用shmkey创建的共享内存段;例如ipcrm -M 994ipcrm -m shmid 移除用shmid标识的共享内存段;ipcrm -Q msgkey 移除用msgkey创建的消息队列;ipcrm -q msqid 移...
2019-12-19 17:43:14
710
原创 scp 传输文件报错 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
scp /home/oracle/dump/expdp_torc_gsp_20160914_*.dmporacle@。。。。。。:/data/dump@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WARNING:REMOTEHOSTIDENTIFICATIONHASCHANGED!@@@...
2019-12-11 15:03:17
173
原创 Linux指令
1. SCP指令:服务器之间传输,secure cp 加密传输。scp -r 目录 intel@flex-fpga1.bj.intel.com:/home/intel就是将当前目录拷贝到另一台服务器上的指定路径上。 2. rm -r 目录:删除所有文件 3. 文件之间建立链接:ln -s /data/ln/src /data/ln/dst对某一文件中所有文件和目录...
2019-10-17 10:23:11
109
转载 github使用教程
一 . github上创建立一个项目 用户登录后系统,在github首页,点击页面右下角“New Repository” 填写项目信息: project name: hibernate-demo description : my first project 点击“Create Repository” ; 现在完成了一个项目在github上的创建。二 . ...
2019-10-14 23:16:36
192
原创 OpenCL优化-解除data dependence
删除loop-carrried依赖__kernelvoidunoptimized(__globalint*restrictA, __globalint*restrictB, __globalint*restrictresult) { ...
2019-10-14 14:14:03
303
原创 使用screen管理远程会话
目的:为了在关闭远程窗口之后,运行的任务不被杀掉步骤:(1)screen//开启新的窗口(2)screen +运行的命令(3)在当前的窗口使用按住ctrl+a按键之后再按下d按键(4)screen -ls//查看会话(5)screen -r +会话号...
2019-10-09 16:19:23
150
原创 Qt全屏以及按ESC退出全屏
Qt全屏this->setWindowFlags(Qt::Window); this->showFullScreen();QT按键ESC退出全屏:这是声明了一个按键事件void MainWindow::keyPressEvent(QKeyEvent *event){ // ??Esc?????? if (event->key() == Q...
2019-09-06 18:35:56
2693
3
原创 安装qt5.9.0
安装过好几次qt了,不过每次都是现找教程,这次记录一下链接吧。参考这个链接,很简单,好用。http://c.biancheng.net/view/3886.html
2019-09-06 18:19:29
473
转载 ubuntu 18.04 vnc server开机自启动
转自:https://blog.youkuaiyun.com/lixiaotao_1/article/details/901409791 首先确定vncserver 以正确安装到linux系统;2 设置vncserver随系统自启动2.1sudo nano /etc/init.d/vncserver2.2 在vncserver文件中加入以下内容#!/bin/sh### BEGIN I...
2019-09-05 13:37:39
7396
原创 shared memory使用
第一次使用shared memory记录一下吧,好记性不如烂笔头,小蚂蚁加油吧~~~~(共享内存是进程间通信中最简单的方式之一。共享内存是系统出于多个进程之间通讯的考虑,而预留的的一块内存区。共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针。当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。)这段是c...
2019-09-04 21:16:47
1444
原创 Qt下创建多个进度条,并对进度条进行设置
建立多个进度条 for(int i =0;i<2;i++) { int rst = i; const QString a = QString::number(rst); const QString b = "bar"; QString c =b; c += a; QString strText = c; QProgres...
2019-09-01 19:46:12
856
原创 Linux下第一次使用QT注意事项
(1)出现:could not determine which "make"command to run.Check the "make "step in the build configuration.原因在于没有设置编译器,在工具-选项-构建和运行中选上GCC.有可能没有安装gCC编译器,在终端输入:suao apt install cmake g++(2)接下来会出现cannot...
2019-08-12 20:40:24
408
原创 配置zynq VDMA 输出64FC1数据
我使用的VDMA的是以RGBA形式的图像数据输入,经过FPGA的运算输出64FC1类型的数据。VDMA的寄存器如下表所示。所有寄存器都被映射到非缓存内存空间。该内存空间必须按照AXI字(32位)进行对齐,换句话说,寄存器偏移地址至少间隔4个字节。 寄存器名称 偏移地址 详细描述 MM2S_VDMACR ...
2019-08-12 10:26:35
240
转载 Ubuntu系统启动报错:The system is running in low-graphics mode
Ubuntu系统启动报错:The system is running in low-graphics mode2018年01月12日 20:38:32愿一直阅读数:357方法一:sudo chown lightdm:lightdm -R /var/lib/lightdmsudo chown avahi-autoipd:avahi-autoipd -R /var/lib/avahi-...
2018-12-13 10:34:57
168
原创 SPI协议
SPI是一种同步串行接口技术,SPI总线在物理上通过接在外围设备微控制器上面的微处理器控制单元(MCU)上叫做同步串行端口的模块来实现,允许MCU以全双工的同步串行方式,与各种外围设备进行高速数据通信。SPI主要应用在EEPROM,Flash,实时时钟(RTC),数模转换器(ADC),数字信号处理器(DSP)以及数字信号解码器之间。它在芯片中只占用四根管脚(pin)用来控制以及数据传输。主要特点:...
2018-07-12 16:16:06
300
原创 Linux下内核编译
linux源码下载 https://github.com/digilent/linux-digilent-dev由于我网速慢,就不用git下载了,用之前下好的zip文件,进入到解压好的linux源码目录。这里直接解压会有问题,因为那个zip软件固有的问题,导致解压的时候出问题,一般这个时候不注意是看不出来的,在编译的时候就会显现出来,一般为文件名太长。symlink error: File
2017-11-27 20:36:30
450
原创 QT界面设置背景图片
在QT下设置背景图片,查了好多方法,这个最好用:.如果widget是顶层窗口(无父类的窗口)设置背景图片: QImage _image; _image.load("./videoarea.png"); setAutoFillBackground(true); // 这个属性一定要设置 QPalette pal(palette()); p
2017-11-25 16:15:00
6099
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人