随笔分类 -  2023前的博客

早期松散的博客,无关联性
摘要:verilog设计知识集合(2) 1、阻塞与非阻塞 阻塞赋值是存在先后关系的,非阻塞是不存在先后关系的。一般而言,阻塞用于组合逻辑,非阻塞用于时序逻辑(不一定)。阻塞的执行时逐步赋值,非阻塞是同步赋值。 阻塞和C中的赋值语句功能是一致的。为何会存在非阻塞赋值呢?这里主要考虑的是寄存器的状态包含现状态 阅读全文

posted @ 2020-08-23 21:12 绿叶落秋风 阅读(242) 评论(0) 推荐(0)

摘要:verilog设计知识集合 一、基本知识 verilog HDL,verilog硬件描述语言,可从上层到下层一直设计,使用一些列分层的模块来表示极其复杂的数字系统的语言。利用EDA工具将模块转化为网表,再使用FPGA或者ASIC实现具体的电路结构。 另外一门比较出名的是硬件描述语言是VHDL,偏重标 阅读全文

posted @ 2020-08-22 16:43 绿叶落秋风 阅读(692) 评论(0) 推荐(0)

摘要:数字电路之MOS设计 1、MOS的基本性质 MOS,即场效应管,四端器件,S、D、G、B四个端口可以实现开和关的逻辑状态,进而实现基本的逻辑门。NMOS和PMOS具有明显的对偶特性:NMOS高电平打开(默认为增强型,使用的是硅栅自对准工艺,耗尽型器件这里不涉及),PMOS低电平打开。在忽略方向的情况 阅读全文

posted @ 2020-08-20 15:09 绿叶落秋风 阅读(3385) 评论(0) 推荐(0)

摘要:APP探索之iAPP 1、基本作用 iAPP是一个手机上的应用,可以用于快速设计手机应用,基本免费。使用的语言好像是自创的脚本语言。无聊时可以用iAPP做一些简单的训练,可以练习文件和数据的操作。对于理解脚本语言中的UI界面和后台设计有一定的帮助。 2、实际操作 iAPP有一个可视化的编程界面,可以 阅读全文

posted @ 2020-08-09 23:56 绿叶落秋风 阅读(965) 评论(0) 推荐(0)

摘要:quartus之LPM_MULT测试 1、基本作用 一个专用的乘法器,可以调用DSP单元的IP,可以提高设计中的运算效率。 2、实际操作 `timescale 1ns/1ns module mult_tb; reg [7:0] a; reg [7:0] b; wire [15:0] r; myip_ 阅读全文

posted @ 2020-08-09 00:09 绿叶落秋风 阅读(1970) 评论(0) 推荐(0)

摘要:verilog之function 1、基本作用 function,就是声明一个函数。与task的区别就是有参数。function的返回值就是函数名(可以设置位宽),输入值任意,均作为输入参数。代码块需符合verilog的语法规则。如放在assign块中的函数需要使用wire变量,always语句中的 阅读全文

posted @ 2020-08-08 14:51 绿叶落秋风 阅读(1948) 评论(0) 推荐(0)

摘要:quartus的IP测试之LPM_DIVIDE 1、基本作用 一个用于除法的IP,可以输入除数、被除数,得到商、余值。 2、基本测试 `timescale 1ns/1ns module divide_tb; reg [7:0]denom; reg [7:0]numer; wire [7:0] quo 阅读全文

posted @ 2020-08-06 23:26 绿叶落秋风 阅读(2920) 评论(0) 推荐(0)

摘要:quartus之LPM_COMPARE测试 1、IP描述 比较器的IP,可以比较两路数据是否相等。相等输出为1,不等输出为0的aeb信号是需要测试的量。 2、基础测试 module compare_top( input [7:0] x1, input [7:0] x2, output result 阅读全文

posted @ 2020-08-05 00:04 绿叶落秋风 阅读(1072) 评论(0) 推荐(0)

摘要:TCL基本语法2 1、format和scan 两个基本的函数,和C语言中的sprintf和scanf的作用基本相同。format将不同类型的数据压缩在字符串中,scan将字符串中的数据提取出来。 set name Jack set age 100 set worker [format "%s is 阅读全文

posted @ 2020-08-04 23:02 绿叶落秋风 阅读(635) 评论(0) 推荐(0)

摘要: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)