- 博客(533)
- 资源 (5)
- 收藏
- 关注
原创 always块中赋初始值应用
为避免创建锁存器,必须在所有可能的情况下为所有输出分配一个值。仅仅具有默认情况是不够的。您必须在所有四种情况和默认情况下为所有四个输出分配一个值。这可能涉及许多不必要的输入。上面这个问题说的是在case之前给输出一些默认值,这其实也是我一直以来的做法,在Verilog高级数字系统设计技术与实例分析这本书中,大量的设计运用了这种风格的代码。这种代码风格可确保在所有可能的情况下为输出分配一个值(0),除非case语句覆盖该分配。这也意味着默认:case项变得不必要。
2024-05-11 17:38:46 342
转载 Verilog仿真中,读txt文件和写txt文件的方法
在功能仿真阶段调试程序时,$display是很有用的一段程序,它和java,c语言中的打印语句使用方法是相似的,可以把变量和语句运行状况打在TCL log的窗口上,供调试者知晓代码运行情况。同时,需要注意的是,在换行中,需要采用’\r\n‘,不能仅仅使用’\r’。需要注意的是,txt文件的地址不能出错,另外,注意地址分隔符需要用’/‘,windos系统中的’\‘需要对应改过来才能使用。MATLAB上生成的txt文件的格式为每行一个数据,与coe文件不同的是,数据之间没有逗号。
2024-05-11 09:53:45 834
原创 全加器逻辑表达式
这些表达式描述了全加器的核心功能,即对两个二进制数Ai和Bi进行加法运算,并考虑来自低位Ci-1的进位,计算出本位的和Si以及向高位的进位Ci。全加器的逻辑表达式可以用以下公式表示:12。
2024-04-23 11:37:30 3694
转载 vivado 如何在程序启动的时候触发 ILA
下面讲解在vivado中怎么抓一个bit下进去后开始运行的初始事件,即startup trigger。操作起来比较复杂,一般情况下都是让要抓的事件延迟发生或者循环发生,方便调试。5.直接用Tcl命令生成bit文件,不能点击生成bit命令,这样工程会认为implement发生了改动而全部重新布线。4.运行下面的Tcl命令把触发设置加到当前内存里已经布线的implement设计上去。2.运行下面的Tcl命令把触发寄存器的值保存在tas文件中。1.先把有ILA核的bit文件下进去,设置触发好条件。
2024-04-11 14:49:48 143
原创 按位取反和逻辑取反
",用于得到一个逻辑的反命题,即真变成假,假变成真。例如,对于逻辑表达式(A && B) ,逻辑取反操作后得到逻辑表达式!(A && B),即当 A 和 B 中至少有一个为假时,!当 A 和 B 都为真时,!(A && B) 为假。逻辑取反通常用于逻辑运算中,如 if 语句中的条件判断等。按位取反即 "~",用于将一个二进制数的每个二进制位进行取反操作,即0变成1,1变成0。例如,对于二进制数1010,按位取反得到结果0101。按位取反和逻辑取反都是运算符表示的操作,但是用法和效果是有区别的。
2024-04-10 14:39:47 1513
原创 按位运算和逻辑运算的区别
两个N bit向量的按位运算表示将两个变量的每一个bit位进行按位运算,最后得到一个Nbit的输出;逻辑运算将整个变量当作一个布尔值(true/false),得到一个一bit的输出。
2024-04-10 14:23:56 241
原创 数电中的各种门电路符号
它表示只有当输入的两个信号不同时才会产生输出。如果两个输入信号相同,则此门的输出信号为逻辑0。(1)非门(Inverter)(2)与门(AND gate)(3)或非门(Norgate)
2024-04-10 11:25:53 1008
原创 7 Serials FPGAs Transceivers Wizard(3.6) ip核的RXELECIDLE信号
可以使用该信号判断设备的上下电状态,正常工作时,该信号为低电平;断电时,该信号拉高。
2024-03-07 11:13:20 216
原创 软件下发指令,FPGA执行完成后,自动清零
此时需要单独使用always来完成此功能,当软件下发指令时,当S_tx_start变量拉高;当fifo读空shi,将S_tx_start变量拉低。
2024-03-07 11:08:55 349
原创 7 Serials FPGAs Transceivers Wizard(3.6) ip核的gt0_rxpd_in/gt0_txpd_in管脚是做什么用的?
2024-03-07 10:58:27 207
原创 SATA系列专题之六:浅析NCQ原生指令序列
所以,我们可以看到在上面的sata trace中,分16次发送Data FIS。所以,我们可以看到在上面的sata trace中,分4次发送Data FIS来实现32768 bytes数据的传输。如果硬盘同时间内完成多组命令,这些命令完成所引起的中断就可以聚集在一起,大幅减少中断的数目,这对于降低中断延迟有极大的贡献。在Device端,当Queued Commands(最多32)中的一个write或者read准备好传输数据时,通过发送。当Drive收到一个Command,是要将其重新排列?
2024-02-26 14:53:35 1699
原创 看门狗计时器
看门狗计时器看门狗(看门狗,又叫watchdogtimer,是一个定时器电路,一般有一个输入,叫喂狗(kickingthedogorservicethedog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给WDT清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT定时超过,就会给出一个复位信 号到MCU,使MCU复位.防止MCU死机.看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
2024-01-16 16:39:00 962
原创 一些高速接口重要缩写名词全称
DRP:dynamic reconfiguration port (动态重配置端口);PMA:physical medium attachment(物理媒介适配层)
2024-01-12 10:06:08 541
原创 7 Series FPGAs Transceivers Wizard(3.6) ip核接收数据正确性判断
对于GTX/GTH Transceivers IP核接收端数据准确性可以通过rxstatus的状态来确定,当rxstatus的小于4时,rxdata数据为正确值,大于4时,rxdata往往是有错。详见7 Series FPGAs Transceivers Wizard(3.6) datasheet P321.
2024-01-11 14:49:55 920
转载 Verilog语言中如何将memory型变量转换为普通变量
/ 仅在Verilog2005标准中支持input,output 为memory型数据。generate //而这仅是在Verilog2001标准中能够实现的,Verilog95无法完成。总结:写法花哨,synplify pro 、quartus可以综合,但ISE中不支持,具体原因可能是ISE不支持Verilog2005标准吧。
2023-10-16 17:47:26 913
转载 Notepad++编写的Verilog文件导入Vivado,中文注释乱码问题
关于Notepad++编写的文件导入Vivado,中文注释乱码问题的解决方法在使用Notepad++新建Verilog文件,编写程序并加入中文注释,在工程下添加该文件,内置Editor显示的中文注释通常为乱码。而且修改保存后,在Notepad++显示的中文注释同样显示乱码。主要是由于Notepad++默认编码模式和Vivado编码格式不同。有两种解决办法。1.在Vivado工程新建.V文件,再使用Notepad++编写。
2023-10-16 17:40:15 1400
转载 Notepad++编写的Verilog文件导入Vivado,中文注释乱码问题
关于Notepad++编写的文件导入Vivado,中文注释乱码问题的解决方法在使用Notepad++新建Verilog文件,编写程序并加入中文注释,在工程下添加该文件,内置Editor显示的中文注释通常为乱码。而且修改保存后,在Notepad++显示的中文注释同样显示乱码。主要是由于Notepad++默认编码模式和Vivado编码格式不同。有两种解决办法。1.在Vivado工程新建.V文件,再使用Notepad++编写。
2023-05-31 14:15:35 1455
转载 Verilog 中signed和$signed()的用法
1、在中有时会用signed修饰符来修饰定义的数据,运算的时候也会用$signed()任务来强制转换数据,那么signed的修饰是为什么呢,是为了区分有符号数和无符号数的加法和乘法吗?其实不是的,因为有符号数和无符号数据的加法强结果和乘法器结构是一样的,signed的真正作用是决定如何对操作数扩位的问题。2、verilog中的加法和乘法操作前,会先对操作数据扩位成结果相同的位宽,然后进行加法或者乘法处理。
2023-05-31 14:11:01 1214
转载 Xilinx FPGA中HP HR HD bank分别是什么用途
首先我们要明确一点,这几个概念都是在7系列之后才有的,其中7系列的FPGA中有HP Bank和HR Bank,UltraScale FPGA有HP Bank、HR Bank和HD Bank,但并不是一个FPGA中会同时包含HP/HR/HD Bank。绑定管脚时,经常会看到HP Bank、HR Bank和HD Bank,它们分别是什么意思?分别可以适用于哪些应用个?HD Bank应用于低速I/O的场景,最高速率限制在250M以内,最高电压也是支持到3.3V。
2023-05-06 11:22:52 2312 1
转载 卧槽,这才是最强Verilog刷题网站!
大家好,最近经常有粉丝问零基础/基础薄弱,要怎么开始学习,今天来给大家分享一些Verilog的学习方法,先给大家推荐一个粉丝反馈用起来不错的免费Verilog学习&练习网站:?一个不会用Verilog的程序员甚至一个不会任何硬件语言的人,到底应该怎么学习Verilog呢?怎样才能实现Verilog的,还得是学习语法和编程练习,二者缺一不可。语法的学习可以帮助我们了解怎么使用这个语言,练习则可以帮助我们快速掌握这门语言,二者是相辅相成的,后面使用多了,自然而然就成为了大佬了。
2023-05-06 11:15:09 1036
转载 FPGA有哪些优质的带源码的IP开源网站?
HDL在这方面开源的并不多,但是我个人认为fpga4fun和opencores在这些里面就属于前二,完善的社区及完整的HDL代码是主要原因。其他的也是很完美的平台,大家斟酌使用。最后还有一些比较单一的网站,有兴趣可以看看国外VHDL& Verilog IP Resource 下载网站列表。
2023-05-06 10:59:18 1811
原创 Vivdao FFT IP核调试记录
但是我真的很想知道为什么,在求知欲的催促下最后还舔着脸皮问了几个朋友,有的现在不做算法了所以没有时间和精力专门帮我看问题,有的没有做过FFT,有的做过了给我讲了一下,也许问题太简单了,他们说的太过于精简,我也听得马马虎虎,最后还是不知道原因。一开始怀疑config接口配置完成后,会不会有个生效时间,所以还特意在代码里做了处理,后来证实根本没有影响,这个问题也在pg109的pg58页找到了答案,只要给好s_axis_data_tlast 信号就OK。仿真结果如下所示,和matlab结果一致。
2023-04-11 16:42:25 1614 3
原创 ZYNQ处理器系统外部接口
Zynq PS实现了众多接口,既有PS和PL之间的,也有PS和外部部件之间的。PS和外部接口之间的通信主要是通过复用的输入/输出(Multiplexed Input/Output,MIO)实现的,它提供了可以做灵活配置的54个引脚,这表明外部设备和引脚之间的映射是可以按需定义的。这样的连续也可以通过扩展MIO(Extended MIO,EMIO)来实现,EMIO并不是PS和外部连接之间的直接通路,而是通过共用了PL的I/O资源来实现的。当需要扩展超过54个引脚的时候可以用EMIO,而当PL中实现了一个I
2022-05-31 15:18:26 413
转载 ZYNQ从放弃到入门(四)- 中断(二)
这篇博文重点介绍了使用共享外设中断 GPIO 中断。为了正确实现这个中断结构,我们需要编写两个函数:中断服务程序(ISR-Interrupt service routine)——定义了中断发生时发生的动作。中断设置——配置中断。该例程设置并启用 GPIO 中断。它对系统内的所有中断都是通用的,以帮助代码重用。虽然,中断很复杂,但是,值得庆幸的是,独立板支持包 (BSP) 包含许多功能,可以大大简化这项任务。将在以下头文件中找到这些函数:Xparameters.h – 定义处理器设备 ID
2022-05-31 10:56:00 1018
转载 ZYNQ从放弃到入门(三)- 中断(一)
在检查PS端IO口状态时,常用的就是轮询,但是实际工程中很少用这种方式,主要是运行复杂逻辑时,轮询方式效率太低,CPU需要等待IO口状态变化,这种肯定不符合大多数应用,所以多数情况下都是使用中断方式进行驱动的。在许多具有许多输入的系统中,键盘、鼠标、按钮、传感器等。来自这些设备的输入通常与当前执行的进程或任务异步,并且轮询 I/O 方法对于具有许多输入的系统通常效率太低。因为无法始终预测事件何时发生,因此必须经常使用轮询 I/O 方法检查 I/O 状态。轮询例程通常会获得空结果,这是低效的。使用中断可以
2022-05-31 10:51:05 441
转载 ZYNQ从放弃到入门(二)-PS端 GPIO
本博客着眼于驱动 GPIO 连接的 LED(PS 端)。虽然使 LED 闪烁是一项非常简单的任务,但通过驱动使 LED 闪烁所需的步骤,我们可以进一步探索 Zynq SoC 的其他方面,例如其定时器和中断。我将在以后的博客中讨论这些主题。Zynq SoC 具有多个通用 I/O 引脚,它们组合起来创建一个 10 位宽的通用 I/O 端口,如下所示。此 GPIO 组以混合电压分布在两个 MIO 组中。在本例中,我们的 LED 将连接到 MIO 47。Xilinx 提供了许多驱动程序来简化 Zynq So
2022-05-31 10:32:10 617
Vivaod FFT IP核调试例子
2023-04-11
特权FPGA VIP视频图像开发套件例程详解2——DDR2控制器读写测试.pdf
2020-10-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人