随笔分类 -  2023前的博客 / FPGA

用于学习FPGA的所有实践
摘要:TCL之基本语法1 1:set and puts set就是变量声明,这个声明在需要使用的指令下会自动执行,不会出现没有声明的错误。但是对于puts这类定向访问的是不能没有声明的。这里简单理解TCL中的变量:以字符串的形式存在,具体的值由$符号访问。访问之前必须已经有声明。 set x 0 puts 阅读全文

posted @ 2020-08-03 10:56 绿叶落秋风 阅读(986) 评论(0) 推荐(0)

摘要:zynq之TF卡写入函数f_printf 1、基本原理 前面使用f_write写入了数据到TF(SD)卡中,可以实现较短字符串的写入。当字符增加时,容易出现乱码。而f_printf则是专门用于字符串写入的函数,支持整型和字符型数据的写入,可以提高数据写入的灵活性和便捷性。 2、实验操作 要使用f_p 阅读全文

posted @ 2020-07-31 22:09 绿叶落秋风 阅读(1442) 评论(0) 推荐(0)

摘要:quartus之rom的IP测试 1、rom的作用 rom,就是只读存储器,内部数据在下载电路时就已经确认,不能使用信号驱动更改,只能够读取,一般用于比较重要的配置数据。在quartus中,可以直接调用IP核实现该操作。配置文件有hex和mif两种,都可以实现数据的写入。 2、测试方法 测试代码: 阅读全文

posted @ 2020-07-30 22:03 绿叶落秋风 阅读(842) 评论(0) 推荐(0)

摘要:verilog之预编译 1、基本作用 预编译,就是在verilog进入编译器前的准备工作。一般是完成一些文件的调用,一些编译器的设置,一些参数的定义。一般使用include,define,timescale就可以实现。比较灵活的使用是ifdef和endif的插入,可以将预编译的功能拓展。 2、使用事 阅读全文

posted @ 2020-07-30 20:34 绿叶落秋风 阅读(997) 评论(0) 推荐(0)

摘要:zynq之TF卡写入常见问题 1、基本原理 前面做过zynq的TF读写实验,使用串口返回了实验所需的现象。那个时候也没有深究头文件"ff.h"里的几个常用的函数。这次需要使用TF卡做实验时发现很多操作都不大一样,不能够简单的重复,这里把几个常见的问题列举出来,方便以后的查阅。 2、实际问题 先用一段 阅读全文

posted @ 2020-07-29 23:10 绿叶落秋风 阅读(1222) 评论(0) 推荐(0)

摘要:verilog之random 1、基本作用 random,用于产生随机数。在测试时,有时需要测试的情况太多,无法一一列举,就需要使用抽样测试的方法验证功能是否可行。random是一个有返回值的系统函数,可以直接用于计算。返回值带符号的整形,所以不能直接当作无符号的数据处理。可以加上{}作为本身连接, 阅读全文

posted @ 2020-07-28 22:27 绿叶落秋风 阅读(3058) 评论(0) 推荐(0)

摘要:quartus之ram的IP测试 1、基本原理 ram,读取存储器,用于储存数据。基本的原理就是使用时钟驱动时序,利用地址区分位置,使用使能控制写入。输出的结果以写入的位宽输出。 2、实际操作 顶层代码: module ram( input clk, input rst_n, output [7:0 阅读全文

posted @ 2020-07-27 10:21 绿叶落秋风 阅读(1227) 评论(0) 推荐(0)

摘要:verilog之readmemb 1、基本作用 用于读取存储器的值的系统函数。这里首先要知道什么是存储器。在verilog中,有一些比较大的数据是需要存储的,一般需要使用存储器,语法结构类似二维数组。 reg [7:0] mem[256:1];initial mem[1]=8'hff; 这里的mem 阅读全文

posted @ 2020-07-26 22:51 绿叶落秋风 阅读(2888) 评论(0) 推荐(0)

摘要:verilog之monitor 1、函数作用 monitor用于追踪变量的变化情况,这在实际使用中还是非常实用的。电路中的某个信号的变化可以通过monitor检测,不需要使用波形图去仔细查找。也便于准确描述某个信号的变化。 2、基本用法 module monitor; reg a_monitor; 阅读全文

posted @ 2020-07-25 22:17 绿叶落秋风 阅读(4482) 评论(0) 推荐(0)

摘要:verilog之display 1、函数简介 $display是用于显示不同格式的变量的函数,用于测试过程中观察数据数据的特点。该观测不如波形图直观,但是如果可以详细的设置好观测点,有时可以达到事半功倍的效果。 2、实际测试 module display; /* 数据类型简写 %h或%H 以十六进制 阅读全文

posted @ 2020-07-24 23:31 绿叶落秋风 阅读(8027) 评论(0) 推荐(0)

摘要:fifo的IP核学习与解析 1、fifo的基本原理 fifo,就是缓存器,可以理解为升级版的D触发器。D触发器是在时钟信号的控制下,数据等时间间隔刷新。对于fifo而言,数据也是需要刷新的,不过有一个读取控制信号决定数据是否读取。还有一个区别就是输入是与储存数据脱钩的。有写入控制信号决定是否连接。还 阅读全文

posted @ 2020-07-23 23:35 绿叶落秋风 阅读(528) 评论(0) 推荐(0)

摘要:verilog之四位全加器 1、简易代码 module adder_4bit ( cout,sum,ina,inb,cin ); output[3:0] sum; output cout; input[3:0] ina,inb; input cin; assign {cout,sum}=ina+in 阅读全文

posted @ 2020-07-22 21:40 绿叶落秋风 阅读(2015) 评论(0) 推荐(0)

摘要:verilog之时钟信号的编写2 1、时钟信号的特点 时钟信号除了可以根据时序一个个变化列举出来,还可以利用其循环的变化的特点,使用循环执行语句always来实现。这种方法实现的时钟信号可以一直执行且不需要关注每个变化点的延时。 2、基于begin-end块的时钟信号 initial begin c 阅读全文

posted @ 2020-07-16 23:16 绿叶落秋风 阅读(4148) 评论(0) 推荐(0)

摘要:verilog之简单时钟信号的编写 1、数字时钟信号 在数字电路中,时钟信号是重要的一类信号,一般作为激励源驱动时序电路。掌握时钟信号的编写,对于时序电路的仿真具有重要意义。所有的时序电路都需要设置时钟信号来确认时序。这里先写一个已知时间间隔的简易时钟信号。 2、基于begin-end的编写 ini 阅读全文

posted @ 2020-07-15 20:18 绿叶落秋风 阅读(6203) 评论(0) 推荐(0)

摘要:modelsim的工程文件结构 1、工程结构 modelsim中的工程包括一个库(这个库可以是空的,也可以包含器件延时信息的真实库),一个工程(以mpf为后缀的文件是工程的快捷打开方式)和若干源文件。一个库是可以包含多个工程,一个工程可以包含多个可执行的verilog(其他语言暂时不考虑)文件。 2 阅读全文

posted @ 2020-07-14 22:41 绿叶落秋风 阅读(1164) 评论(0) 推荐(0)

摘要:FPGA之PLD的简单设计 1、实验原理 PLD是可编程逻辑器件的简称,是FPGA的前身(FPGA是在PLD的基础上发展出来的)。从PLD设计可以感受早期可编程逻辑器件的特点,了解FPGA在器件层的原理特点。本次实验采用WinCupl软件编辑一个PLD的配置文件,使用proteus进行仿真。 2、实 阅读全文

posted @ 2020-07-12 20:34 绿叶落秋风 阅读(787) 评论(0) 推荐(0)

摘要:AXI自定义IP之UART调试 1、实验原理 前面的自定义IP中已经将AXI总线的大部分接口设置都一一验证了。基本掌握了关键接受寄存器slv_reg和发送寄存器data_reg_out,可以基本实现简单的PL和PS的联合设计。但是,限于开发板的测试手段有限,只有一个按键和四个LED灯,限制了对复杂设 阅读全文

posted @ 2020-07-10 22:17 绿叶落秋风 阅读(1138) 评论(0) 推荐(0)

摘要:AXI4的PL与PS联合设计 1、实验原理 在前面的学习中,解决了如何利用一个缓冲寄存器控制另外一个寄存器的输入输出配置。接下来就是如何将PL设计直接导入到PS中实现资源互换。PS是可以通过AXI4总线访问从机的缓存寄存器,从机是可以直接调用PL设计的。只需要从机的IP的编辑界面正常的调用对应的mo 阅读全文

posted @ 2020-07-08 23:10 绿叶落秋风 阅读(685) 评论(0) 推荐(0)

摘要:AXI4的IP的输入配置 1、实验原理 前面一篇验证中验证了AXI中的data_reg_out是输出缓存器。这里再引入一个slv_reg2作为slv—_reg1的输入输出配置寄存器。这里先实现一个简单的功能:当slv_reg2为16'hffff时,slv_reg1作为输入口,否则slv_reg1作为 阅读全文

posted @ 2020-07-07 20:34 绿叶落秋风 阅读(451) 评论(0) 推荐(0)

摘要:AXI4从机总线分析验证之读取寄存器值 1、实验目的 利用前面所学的AXI4总线协议的理论分析,验证如何将一个PL的输入信号通过AXI发送到PS端。大致思路就是取一个按键,信号接入自建的AXI4的IP中,取代AXI4中reg_data_out成为AXI4该寄存器从地址的读取信号。然后通过PS发送到另 阅读全文

posted @ 2020-07-06 20:36 绿叶落秋风 阅读(1218) 评论(0) 推荐(0)