- 博客(29)
- 资源 (2)
- 收藏
- 关注
原创 脚本语言tcl使用
功能:从解释器的名称空间删除变量,如果变量名是个数组名,则整个数组被删掉,如果是数字中的某个项,则只删除那个项。arg1 arg2... argn 在list后增加项。过程的参数赋缺省值:proc name {arg1 {arg2 vlaue}}过程的不确定个数的参数定义:proc name {arg1 args}双引号包含的[]中的命令可以正常执行,命令结果也可以传递出来。variname2?{}包含的[]中的命令不会执行,更不会有命令结果出来。在程序运行的过程中,tcl可以执行其中创建的命令。
2024-05-10 17:31:46 530
原创 vcs覆盖率合并和查看
其中每个sim_cov表示仿真一个case的simv仿真目录,下面包含覆盖率的db文件夹,需要注意的地方,-dbname 需要放在每个子文件夹的签名,放在后面的话,执行容易不过。上面的vcs中包含一些fpga的memory,所以有写xilinx的选项。在执行simv文件的时候,添加如下选项。-noreport 不生成报告文件。1 vcs编译增加覆盖率选项。2)仿真的时候增加的选项。1)编译的时候增加的选项。3 合并后的覆盖率查看。
2024-05-09 17:55:45 742
转载 芯片内部的存储
在mem比较小的情况下用RF划算,并且同样的mem,RF的长宽比会更小,方便后端floorplan。芯片在初次上电过程中会读取eFuse中的电压字段数值,送到芯片外部的电源管理器,电源管理器在芯片初始上电前会提供一个标准的电压(假设为1.0v),在接受到eFuse中的电压字段数值后会调节电压大小。将产生的.LIB文件转换成.DB文件,就可以把Memory Compiler生成的RAM加入到代码中进行综合了。在布局布线前,需要考虑RAM的长与宽,估计它的位置与方向,尽量让功能想关的模块靠近一些。
2024-03-13 20:50:19 713
转载 Verdi显示状态机的名称
或者在waveform窗口中选择waveform菜单 --> Signal Value Radix --> Edit Alias... 编辑alias即可以达到我们的目的,但前者更简洁。选择First State或者All Stages皆可,区别是First State仅展开目前的所指定的FSM state,在verdi的顶层菜单窗口,选择tools-->Extract Interactive FSM,如下图。All Stages将展开所有的FSM states。
2024-03-11 16:52:10 479
转载 分组密码的不同工作模式
对称加密算法DES、3DES、AES等都属于分组密码,它们只能加密固定长度的明文,然而在实际生活中,人们通常需要加密的文件(数据)并不是8字节或者16字节的单个明文分组,而是需要加密一个较大的文件或者电子邮件等,对于这种需要加密任意长度的明文,就需要对分组密码进行迭代,分组密码的迭代方式就称为分组密码的“模式”。1)所有分组的加密都链接在一起,使得某一分组的密文不再仅依赖于该分组的明文,而是依赖于该分组之前(包含该分组)的所有明文分组;(电子密码本)模式是一种最直接,最简单的消息加密方式。
2024-03-05 15:20:05 99
原创 40G/50G 高速网络接口
AXI4-Stream 数据有效,当此信号设为1时,RX AXI总线上存在有效信号。AXI4-Stream 信号, 指示以太网包结束。AXI4_Stream 发射接口-256位信号。AXI4-Stream 数据控制,连接到上层。AXI4-Stream 用户边带接口。AXI4-Stream 用户边带接口。AXI4-Stream 数据有效输入。AXI4-Stream 表示包结束。采用AXIS-Stream 接口。AXI4-Stream 发射数据。AXI4-Stream 数据控制。AXI4-Stream 数据。
2024-02-02 13:37:59 814
原创 Vivado wns tns为负 如何处理
在这种情况下,应该首先检查时序约束的设置是否正确和合理。针对资源占用高的模块,可以考虑进行优化,比如减少逻辑门数量、精简状态机等,以缩短信号传输路径,改善时序约束。时序优化:对于关键路径上的逻辑,可以采用一些时序优化措施,例如更换更高速度的逻辑资源、添加时钟分频器、减少时钟分配路径等,以提高关键路径上时序容忍度,减小。可以通过优化时序约束来提高系统的时序容忍度,从而减少WNS和TNS为负的可能性。为负时,需要仔细分析问题的根源,并通过上述方法之一或结合来进行相应的改进,以达到设计的预期目标。
2024-01-24 09:23:33 3794
原创 Vivado的FIFO
如图:在sources 窗口单击IP sources,选择并展开fifo_generator_0选项,在展开项中,找到instantiation template,Verilog语言,一般选择fifo_generator_0.veo文件。Create source file, file name “top”,然后在top module中编写代码。选中design sources 文件夹,单击右键,出现add sources。在sources 窗口中,将标签页重新切换到hierarchy 标签页。
2024-01-22 20:09:54 587
原创 Vivado的IO约束
点击IO,进行设置,也可以采用另外的方式,在约束文件xdc中进行约束。针对IO的约束,可以在synth完成后,打开原理图界面。
2024-01-08 15:59:46 587 1
原创 Vivado的40G/50G的时钟code修改配置
但是在画板的过程中,时钟资源有限,并不是每个bank都输入时钟,如果实例化2个40g/50G的IP,这两个实例化的IP 选择不同的bank,比如选择bank226和bank227,但是时钟输入只在bank226上,此时bank227的GT IP的时钟来源于bank226,此时需要对IP的时钟输入进行配置,在代码code中进行配置。时钟输入的pin,如果采用上面bank的时钟,那么就配置gtnortrefclk。如果采用下面的bank的时钟输入,那么就配置gtsouthrefclk。
2024-01-08 15:59:08 523 1
原创 虚拟机压缩文件为多个包
3 打开如下图界面,选择切分卷的大小选项,点击下拉框选择每个压缩文件的大小,也可以输入数值,一般选择4G。1 首先选中需要压缩的文件,如下图,然后点击鼠标右键。2 打开如下图界面,选择添加到压缩文件选项,点击打开。4 分卷大小设置完成后,如下图,点击下面的确定按钮。5 等待压缩完成,一般虚拟机需要压缩20分钟左右。
2024-01-08 15:33:35 595 1
转载 linux的环境下,vcs+Verdi环境安装和配置
synopsys/verdi2018/license/两个文件夹中(这是你license对应的路径,修改成你自己的,如没有license文件夹,自己建即可)。再次执行lmgrd,提示没有/usr/tmp目录和在/usr/local/flexlm/licenses目录下找不到license。在网上看到的教程,是在ubuntu的环境下安装的,本着前人栽树,后人乘凉的原则,也在ubuntu下进行安装,这里下载的版本最好是vivado支持的版本,见下图。可以跳转到这个目录,手动运行这个脚本,根据提示选择路径。
2024-01-04 19:34:19 1431 1
转载 vivado生成bitstream流时发生错误
问题端口:coarseOrFine[7:0], coarse_content_bytes[31:0], fine_content_bytes[31:0], result_byte_data[7:0], spec_resultData[15:0], Start_next_trig, byte_data_ready, byte_data_valid, clk, eop, resultData_tready, resultData_tvalid, result_tx_dir, sop,和tx_done。
2023-12-29 14:44:11 1418 1
原创 FPGA实例化GT-etherthnet
在FPGA的工程过程中,在实例化GT的网络通信IP的时候,需要实例化8路通信,占用2个FPGA的bank,每个bank有差分的输入时钟,此时设计的方案是只给1个bank输入差分时钟,2个bank共8路共用这个bank的时钟,一个输入的时钟如果驱动2个以上module,每个需要经过BUFG,此处2个GT的IP,每个内部都实例化了IBUFG,现在修改为其中一个IP内部实例化IBUFG,然后把实例化的IBUFG的输出时钟,输出给另外的bank模块。
2023-12-28 18:58:38 568 1
原创 实例化pcie的差分时钟
此次需要调用FPGA的内部IP,把输入的差分时钟生成单个时钟,输入给PCIE IP 模块。Pcie IP的实例化,本次实例化生成了如下IP pcie_x8g2_128。FPGA实现的时候,实例化PCIE的IP。原理图输入的bank的时钟输入见下图。
2023-12-28 18:56:14 611 1
转载 FPGA生成pcie的IP
2、设备ID,与厂商ID一起指明数据的类型,被使用选择PCIE上位机的软件驱动。3、UltraScale与UltraScale+支持Gen3的PCIE协议。2、Virtex-7 FPGA支持实现Gen3的PCIE协议。1、厂商ID,专属于Xilinx的PCIE的ID,是固定的。1、7系列FPGA支持实现Gen1与Gen2的PCIE协议。4、子厂商ID,用来更近一步的区分Xilinx旗下的厂商。4、支持x1,x2,x4,x8,x16lanes的通路。3、版本ID,指明使用该PCIE IP进行设置的版本。
2023-12-26 18:07:06 192 1
原创 FPGA的sram时许
在xilinx的IP中生成blk_mem的时候,如果勾选下面的选项的话,生成的blk_mem的时许图中,如果是读数据的话,数据和地址需要间隔1clock周期。第三个clock周期,数据输出,寄存器输出。第一个clock周期,读取地址addra。xilinx的blk_mem的读时序。第二个clock周期,空闲。
2023-12-25 19:01:36 426 1
转载 FPGA设计中的复位电平
就像之前说过的一样, 像时钟,复位和使能信号都是具有高扇出,而且要求低偏差(low skew)的信号。对于FPGA来说并不是哪一条网络连接所有时钟,另一条连接所有复位, 而是在全局网络中任何一条net都可以连接到时钟,复位和使能。事实上,就算采用低电平复位有效的结构,设计综合软件的程序员也是可以解决的。如果采用高电平有效的方式,就可能在无效的低电平上,出现高电平噪声,从而使某个信号在不应当有效的时候,出现有效的高电平。一般推荐使用低电平有效,因为低电平时电路的阻抗低,噪声造成的电平变化小,也就是说,
2023-12-19 13:22:45 912 2
转载 奇偶校验原理
00001101,按照位操作,even异或后的值位1。校验位:如果APB的数据种有偶数个1,那么校验位=0,相当于数据按位异或后的值,如果有。校验位:如果APB的数据种有奇数个1,那么校验位=0,相当于数据按照异或后的值取反。举例说明:00001100,按照位操作,even异或后的值为0。如果有偶数个1,那么校验位=1。
2023-05-16 11:08:36 227
原创 Linux 下安装opencv-python
1 执行命令pip3 install opencv-python==4.1.1.26执行过程中显示没有安装skbuild,No module named ‘skbuild继续执行如下命令sudo apt-get install skbuild2 修改默认的镜像源将pip源更换到国内镜像查看网友的链接如下...
2022-03-15 18:40:38 6031
转载 linux:xxx用户不在sudoer中
转载https://blog.csdn.net/lh_include/article/details/43235297root权限下,打开sudoers的配置文件 vim /etc/sudoers 文件,在下面的位置添加如下代码在 root ALL = (ALL) ALL 下面加上 , 例如是username用户名 username ALL = (ALL) ALL强制保存,wq!下面一篇文章增加了修改文件的权限操作转自http...
2020-07-21 15:09:32 474
转载 usermod 命令
转载自:https://blog.51cto.com/urchin/9871861、修改用户登录目录修改用户的登录目录,其中 username 是用户名,也是home目录下的文件名称#usermod-md/home/username username2、修改用户的shell登录root超级用户,查看/etc/passwd,发现新的用户没有指定shell,需要将其指定为/bin/bash执行命令,其中username是用户名usermod -s/bin/bash u...
2020-07-18 19:30:48 208
转载 screen: 让你的程序在后台自由运行
转自:https://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html1、打开新的窗口screen -S <name>2、退出窗口,程序转入后台运行Ctrl+A+D3、重新窗口screen -r <name>4、查询进程screen -ls 查询后台运行的进程5、杀死进程kill <进程号>...
2020-07-16 15:26:23 240
转载 python遍历数组的两种方法
python遍历数组的两种方法第一种,最常用的,通过for in遍历数组[cpp] view plain copycolours = ["red","green","blue"] for colour in colours: print colour # red # green # blue
2018-01-12 15:28:41 46952
转载 verilog中阻塞和非阻塞的区别
Verilong中阻塞赋值与非阻塞赋值的区别参考文献:http://bbs.ednchina.com/BLOG_ARTICLE_1993789.HTM1、阻塞赋值操作符用等号(即 = )表示。“阻塞”是指在进程语句(initial和always)中,当前的赋值语句阻断了其后的语句,也就是说后面的语句必须等到当前的赋值语句执行完毕才能执行。而且阻塞赋值可以看成是一
2015-07-13 12:07:02 5296
原创 VM下建立共享文件夹
刚在VM下安装了Linux虚拟系统,发现无法在windows和linux之间通信,于是需要在VM下安装共享文件夹,以实现文件传输功能。通过VMWare自身携带的tools可以实现这个功能,而不需要使用网络协议,现在host主机是windows,而ghost是linux系统,所有设置为linux下。1、 启动VMWare中的linux系统,点击VM菜单选项,选择install tools选项,执
2012-03-24 10:29:11 932
华为麒麟980细节曝光
2018-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人