自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

PPRAM的博客

github个人博客:http://hihii11.github.io/GWJ_BLOG.html。欢迎大家访问交流!

  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Synopsys工具使用】2.Verdi的使用

看模块有多少层,如果模块不大 $fsdbDumpvars(0);参数填0,如果层数很大,填写3。选择simulation -> Invoke Simulator。Verdi无法自己产生波形,所以需要先用VCS生成,可以按照。右击选中需要查看的模块,然后选择New_Schematic。在命令行中打入 make verdi_v 打开verdi。这表明生成波形后,波形数据被保存到fsdb文件中;输入时长,再点击波形按钮。

2024-01-05 16:19:17 620

原创 【Synopsys Bug记录】DC综合报错(显示warning:Unable to resolve reference)

DC综合导致该Warning的原因有很多,如位宽不匹配的Error、读取设计时使用Read信号导致模块没有全部读入、例化模块重新赋值了Parameter参数等。我们只需要将报告中的全部Error解决,该Warning也会随之解决,综合才能够正常进行。

2023-11-17 16:17:43 1309

原创 【Synopsys Bug记录】Synopsys工具显示license过期

若没有ens33,则说明linux的网卡因为某些原因未启用,我们需要更改ifcfg-ens33文件;若license问题未解决,或在网卡启动的情况下问题仍存在,则需要重新进行破解。首先查找网络配置,打开终端,输入ifconfig,看是否有ens33。再次运行相关工具,发现license过期问题解决。将 onboot改为yes即可。

2023-11-16 22:34:20 383

原创 【Synopsys工具使用】1.VCS使用与Makefile脚本调用

执行 vcs -full64 +vcs+vcdpluson -sverilog -debug_all -f file.list -l vcs.log 指令,对file.list列出的设计文件进行编译。执行 find -name “*.v” > file.list 指令,将目录下的所有.v文件名写入file.list文件中。执行dve -full64 -vpd vcdplus.vpd & 命令,启动可视化界面,并读入波形文件。执行./simv -l vcs.log 命令,对设计文件进行仿真。

2023-11-02 21:11:24 787 1

原创 基于Zynq FPGA对雷龙SD NAND的测试

雷龙的SD NAND有很多型号,在测试中使用的是CSNP4GCR01-AWM与CSNP32GCR01-AOW。芯片是基于NAND FLASH和 SD控制器实现的SD卡。具有强大的坏块管理和纠错功能,并且在意外掉电的情况下同样能保证数据的安全。接口支持SD2.0 2线或4线;电压支持:2.7V-3.6V;默认模式:可变时钟速率0 - 25MHz,高达12.5 MB/s的接口速度(使用4条并行数据线)高速模式:可变时钟速率0 - 50MHz,高达25 MB/s的接口速度(使用4条并行数据线)

2023-09-03 14:39:30 425

原创 【数字IC验证】VCS+UVM使用vdp文件产生波形

在《Linux中UVM环境搭建》中第五节,我们设计了自己的Makefile文件,在此基础上我们对其修改,增加如下两条命令,这样我们每次在调用Makefile文件时就不需要删除上次仿真产生的文件,另一方面我们可以直接从终端跳转到仿真界面,无需再手动输入dev &打开可视化界面再添加波形文件了;其中clean命令会在每次启动vcs进行编译前,将上一次产生的相关文件删除;run_dve命令则在生成vpd波形后,直接跳转至仿真界面;

2023-08-28 14:37:58 463

原创 Linux中UVM环境搭建

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2023-08-27 22:36:12 801 2

原创 基于FPGA的时序分析-主时钟与虚拟时钟约束

通过查看时钟网络报告和时序确认报告,可以掌握设计中的所有时钟信号,识别需要进行约束的时钟信号,获取其基本信息,以便更好地对其添加约束;首先进行实现Implemented Design -> Open Implemented Design。源寄存器reg1的时钟是真实存在的,而目的寄存器的主时钟不会传输到FPGA;然后 Tcl_Console -> report_clock_networks。目的寄存器reg2的时钟是真实存在的,而源寄存器的主时钟不会传输到FPGA;

2023-08-13 10:12:41 277

原创 AMBA协议AXI-Lite(AXI-Lite从机代码板级验证)

在前一章中我们已经完成了从机接口模板代码的设计;在本篇中,我们将对设计的从机代码进行板级验证;本篇基于AXI_Lite从机接口的模板文件,设计一验证SOC,最终完成了整个AXI_Lite从机接口的测试;

2023-03-21 14:15:35 394 1

原创 AMBA协议AXI-Lite(AXI-Lite从机代码设计)

在本篇中给出了AXI_Lite从机接口的模板文件设计,在下一篇中将基于模板文件设计一SOC系统,进行软硬件协同仿真,完成板级验证;

2023-03-20 14:48:37 1206

原创 AMBA协议AXI-Lite(AXI-Lite介绍)

AXI_Lite顾名思义即简化版的AXI协议,是对完整的AXI协议裁剪后的AXI协议;突发长度永远是1,即只能单次读写,无法连续读写,常用于配置寄存器;由于删减了逻辑,其资源也消耗较少;地址映射,相较于AXI-Stream,AXI-Lite的每个数据读写都需要对应的地址;下一章将讲解AXI-Lite从机接口的代码实现;

2023-03-19 17:17:11 4098

原创 基于FPGA的时序分析-主时钟与虚拟时钟约束

通过查看时钟网络报告和时序确认报告,可以掌握设计中的所有时钟信号,识别需要进行约束的时钟信号,获取其基本信息,以便更好地对其添加约束;然后 Tcl_Console -> report_clock_networks。目的寄存器reg2的时钟是真实存在的,而源寄存器的主时钟不会传输到FPGA;源寄存器reg1的时钟是真实存在的,而目的寄存器的主时钟不会传输到FPGA;1)系统同步时钟的pin2reg的虚拟时钟约束。2)系统同步时钟的reg2pin的虚拟时钟约束。4)差分信号的主时钟约束。

2023-03-16 14:17:43 686

原创 基于FPGA的时序分析-时序路径(引脚到寄存器)

系列文章目录第一章 基于FPGA的时序分析-时序路径(寄存器到寄存器)文章目录系列文章目录一、系统同步接口二、系统同步接口路径分析三、源同步接口路径分析一、系统同步接口二、系统同步接口路径分析Tci_pcb:时钟从时钟源到达外部芯片所经过的PCB走线延迟;Tco:时钟到达外部芯片引脚,一直到外部芯片数据输出所经过的延迟;(源时钟到寄存器引脚+数据经过寄存器时间)Td_pcb:数据信号在PCB线上经过的延迟;Tpin2reg:数据信号从FPGA引脚到达目的寄存器reg2所经过的延迟;

2023-03-15 08:41:26 322

原创 1.Verilog语法简介

Verilog HDL是一种硬件描述语言,我们可以通过编写Verilog HDL来描述数字电路或系统。Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。提示:以下是本篇文章正文内容,下面案例可供参考。

2023-03-12 22:17:26 131

原创 AMBA协议AXI-Stream(板级验证)

在上一篇中,我们已经讲述了AXI-Stream(以下简写AXIS)的相关信号和对应的缓冲模块设计;在本篇中,将给出后续的上板实验过程;

2023-03-06 13:08:52 417 2

原创 AMBA协议AXI-Stream(协议信号、设计实践)

AXI-Stream(以下简称AXIS)是AMBA协议的AXI协议三个版本中(AXI4-FULL、AXI4-Lite、AXI4-Stream)最简单的一个协议;摄像头高速ADXilinx的AXI-DMA模块在进行SOC设计中需要高速数据传输处理的场合,常常使用AXIS协议;AXIS与AXI-FULL的区别:取消了Address Write/Address Read通道;取消了反馈响应信号Bresp和Rresp;半双工,仅能读或者写;不允许乱序;无最大突发传输长度;

2023-03-05 21:56:09 6742 2

原创 基于FPGA的时序分析-时序路径(寄存器到寄存器)

Tclk = T1+T2,占空比 = T1/Tclk 如果 T1 = T2 = Tclk/2 则占空比为50%。晶振或内部PLL锁相环产生的时钟信号无法保证绝对的精准;影响时钟周期准确性的因素有很多,如材料、工艺、温度以及各种噪声等;晶振源固有的噪声和干扰通常会带来时钟信号的周期性偏差,称为时钟抖动,一般单位是ps;所以FPGA时序分析中,也会将时钟抖动作为时钟不确定性(Uncertainty)的一部分加以约束。

2023-02-07 18:30:04 679 1

原创 FPGA资源之LUT

Xilinx 7的FPGA可编程逻辑资源为CLB(Configurable Logic Block)下图白色高亮为CLB资源:在Xilinx的FPGA中,这样的CLB资源有很多个,组成可编程逻辑阵列;我们看到在CLB资源中,还有两个区域如下图:这些资源统称为SLICE,一个CLB中有两个SLICE,当然这两个SLICE片在名字与功能上也是有区别的;绿色(SLICEM),黄色(SLICEL)

2023-01-28 19:22:16 4785 2

原创 基于verilog设计一个硬件看门狗

看门狗:也称看门狗定时器,是常见于系统的一种外设;看门狗似乎就是一条看门的狗,如果系统一切正常则看门狗不叫,如果程序不正常,则看门狗则会将程序咬死(即程序强制复位)。看门狗的作用:当一段程序跑飞,卡死或不受控制时,能使得系统强制重启;喂狗:当看门狗被初始化后,需要在程序中每进行一段时间就重置看门狗模块的定时器计数值,防止程序被咬死;程序咬死:当程序出现问题时(跑飞或锁死),导致看门狗定时器的计数值没能及时重置,当计数值达到设置的阈值后,看门狗定时器则输出复位信号,使得CPU强制复位;

2022-12-15 21:00:01 2773 1

原创 基于verilog的UART串行总线协议模块设计(含原理、源码、AXI封装、C驱动文件)

UART即通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),两个UART设备在进行通信时,发送数据的设备将并行的数据转化为一位一位的串行数据,并按照给定的时钟频率将串行数据依次打到TX通信线上,接收方检测RX上的电平,按照给定的时钟频率读取RX线上电平,并将采样到的串行数据还原成并行数据;

2022-09-20 21:04:14 2170 2

原创 亚稳态及信号跨时钟域处理

亚稳态的产生:一个信号在一个时钟域变化,并在另一个时钟域被采样,就会导致输出成为亚稳态。本质上是由于违背了触发器的建立和保持时间产生的;亚稳态的危害:导致逻辑判断错误、亚稳态传播(下一级电路同样产生亚稳态)建立时间(Tsu,set up time):时钟有效边沿到来前,要求数据保持稳定的最小时间;保持时间(Th, hold time):时钟有效边沿到来后,要求数据保持稳定的最小时间;输出延迟值(Tco):规定的时钟到输出的延迟值;决断时间(Tmet)

2022-09-14 19:46:03 888

原创 各种FIFO硬件设计(FIFO概念、异步、同步、非2次幂深度FIFO)

FIFO(first in first out)是一种先进先出的存储器,与栈不同,栈对应的是一种先进后出的数据存储理念。FIFO无论是在IC设计中、IP核设计中、SOC设计中都存在广泛的应用。特别是随着设计复杂度的提高,在一个系统中往往会引入多个时钟,这也就使得数据的跨时钟域处理显得尤为重要,而FIFO正是解决这一问题的有效方法。......

2022-08-11 14:43:58 4500 3

原创 从零开始的RISCV架构CPU设计(3)- 状态机与流水线

流水线与状态机是数字电路设计中两种重要的技术,本节将由浅入深对这两种技术作简要介绍,并探讨在该RVCPU软核的实现框架。虽然流水线会带来诸多问题,但从总体上来看,流水线对实现处理器的性能带来的收益还是很可观的。所以飞V开源软核的设计采用了典型的五级流水线架构。在本章中主要对流水线和状态机技术进行了说明,最终确定以流水线的方法来实现RISC-V指令集。流水线的引入同样会带来很多问题,本章只对流水线的控制冒险和数据冒险问题进行了介绍,在实际CPU设计的过程中,遇到问题往往比阐述的这些复杂。...

2022-08-01 18:08:39 3174

原创 从零开始的RISCV架构CPU设计(2)-CISC与RISC

从指令集架构的角度来看,现在流行的两种指令集架构为复杂指令集(ComplexInstructionSetComputer)即CISC以及精简指令集(ReducedInstructionSetComputer,)即RISC。在CPU发展早期,CISC作为主流,凭借其灵活、指令集易拓展等优点,占据了CPU领域的半边江山,但随着其不断发展,指令集不断壮大,CISC的缺点也越来越多。针对其缺点,在20世纪80年代,无病一身轻的CPU界新星RISC架构便诞生了。...

2022-07-28 17:14:29 2012

原创 从零开始的RISCV架构CPU设计(1)-CPU开源资料说明

最近学习了RISC-V架构的CPU设计,然后根据经典的五级流水线架构在Vivado上完成了一个简单的CPU,故开一个新坑记录该CPU的设计过程。该CPU实现了RVIM指令集,并可以搭建简单的SOC。这个CPU也有致命缺点,就是没有实现JTAG,无法进行调试,在后面会实现。目前CPU进度可搭建片上soc,已能够通过Vivado综合,各功能验证无误。注此软核仅用于学习交流,若要进行商用,请务必与作者本人联系!...

2022-07-23 18:22:30 3233 1

原创 基于verilog的时钟管理电路设计(奇数/偶数分频、门控时钟等)

  在许多设计中,常常伴随着对时钟的各种需求,如需要进行偶数倍分频,奇数倍分频;对于时钟的处理也很重要,如何防止时钟截断,时钟毛刺,减少累计时钟偏移;在低功耗设计中,如何降低时钟网络和其中寄存器的功耗;  进而衍生出各种技术,如行波计数器、计数分频器、门控时钟、锁存器门控时钟等待。  在数字设计中,产生时钟信号的方法主要有两种,一种是通过PLL锁相环对时钟源进行分频或倍频,另一种是在设计的模块中用硬件描述语言描述分频逻辑。  在本文中将对这些技术进行简要的介绍,并给出若干设计实例。...

2022-06-29 00:12:31 4300 1

原创 基于verilog实现2FSK调制解调器

基于verilog实现2FSK调制解调器,完成代码设计及功能仿真。

2022-04-04 17:04:59 8634 24

原创 基于Vivado的硬件IIC软硬协同设计

I2C通信协议的verilog设计,并成功完成了与EEPROM、OLED等I2C器件的数据交互。

2022-03-31 18:48:37 2502 4

2020年第十五届AI电磁组可视化训练上位机

15届智能车华东赛区国二,小车速度2.5m,AI电磁组AI训练上位机,上位机做了训练效果的可视化,部署仍然使用了官方的nncu。环境python3.7 keras2.2.4 tensorflow1.13.1

2020-11-04

空空如也

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

TA关注的人

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