随笔分类 - verilog
摘要:Quartus 调试笔记 @(verilog) 最近忙于芯片跟测试FPGA联调,解锁了不少quartus的用法,在此记录一下备忘。 一. modelsim 联仿 1. tb文件创建 Processing Start Start testbench template writer 自动创建当前top
阅读全文
摘要:Verilog -- 序列发生器的设计 @(verilog) 1. 题目 产生序列信号11010111至少需要几级触发器? 2. 思路1 - 状态机实现 最容易想到的就是采用状态机,每个状态输出序列中的一位,发送完一组序列后回到开始状态继续循环。需要注意的是状态变量的位宽,由于题目要求采用最少的触发
阅读全文
摘要:VIM插件 -- 自动生成verilog module的testbench @(VIM) 1. 动机 软件语言都有各自好用的IDE,各种自动补全,高亮,语法检查。而苦逼的ICer大多还操着远古时期的VIM写着verilog。也是,硬件语言本身就小众,即使是xilinx, altera等大厂的viva
阅读全文
摘要:Verilog -- 并行2bit输入序列检测器 @(verilog) 乐鑫2020笔试题: 描述:模块输入口是并行的2bit,实现对$(1011001)_2$的序列检测,输入数据顺序为高位2bit先输入,当检测到序列时输出一拍高电平脉冲,用verilg描述。 方法一:状态机 采用状态机描述,先列出
阅读全文
摘要:Verilog 任意整数除以三求商和余数 @(verilog) [TOC] 1. 问题简介 问题:输入一个16bit的数,现在要求它除以3得到的商和余数,如何优化? 来源: "@笑着刻印在那一张泛黄" 提供,面试真题。 2. 思路 一开始联想到之前写过的另一篇博文 "序列模三检测器" ,但是这只能解
阅读全文
摘要:Verilog 改进的Booth乘法(基4) @(verilog) [TOC] 1. 背景 之前已经介绍过Booth乘法算法的基本原理以及代码,实际上之前的算法是 基2的booth 算法,每次对乘数编码都只考虑两位。因此在实际实现时往往效率不高,考虑最坏情况,使用基2的booth算法计算两个8位数据
阅读全文
摘要:Verilog -- 求两数最大公因数和最小公倍数 @(verilog) 1. 原理简介 1.1 辗转相除法求公因数 求最大公因数的常用算法为辗转相除法,又被称为欧几里德(Euclidean)算法, 是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在
阅读全文
摘要:Verilog 无符号整数除法器(二) [TOC] 在 Verilog 任意整数除法器(一)中已经给出了一种除法器的组合逻辑实现,但是实际使用中可能还是需要讲组合逻辑插拍才能得到更好的性能。下面给出一种基于状态机的时序逻辑除法器实现。 这边先上一下算法流程图,跟之前的一样: 下面是verilog代码
阅读全文
摘要:Verilog 乘法器Booth算法 [TOC] 1. 原理 Booth算法的原理其实小学初中就学过,比如下面这道题: 简便计算 :$8754 \times 998 = ?$ 随便抓个娃娃来都知道应该这么算: $8754 \times 998 = 8754 \times 1000 8754 \tim
阅读全文
摘要:转自:https://www.cnblogs.com/qiweiwang/archive/2011/04/18/2019952.html Verilog 序列检测器(采用移位寄存器实现) 序列检测器就是将一个指定序列从数字码流中识别出来。本例中将设计一个“10010”序列的检测器。设X为数字码流的输
阅读全文
摘要:Verilog 序列模三(整除3)检测器 描述:输入口是1bit,每次进来一位数据,检查当前序列是否能整除3,能则输出1,否则输出0. 例如 : 序列=1,out=0; 序列=11,out=1; 序列=110,out=1; 序列=1101,out=0; 首先需要找一下规律 ,一个数被三除,只可能会有
阅读全文
摘要:Verilog 阻塞与非阻塞的仿真与综合 [TOC] 参考 Clifford E. Cummings, Sunburst Design, Inc. "Nonblocking Assignments in Verilog Synthesis, CodingStyles That Kill!" 前段时间
阅读全文
摘要:Verilog IIC总线协议 @[toc] 参考自 https://www.cnblogs.com/liujinggang/p/9656358.html 上面的博文写的很好,下面只是摘录一些重要知识点以及自己的理解。 简介 IIC(Inter Integrated Circuit)总线是一种由PH
阅读全文
摘要:Verilog SPI协议 简介 SPI是一种全双工通信,并且是一种同步传输方式(slave的接收clk需要master给出) SPI总线是一种4线总线,因其硬件功能很强,所以与SPI有关的软件就相当简单,使中央处理器(Central Processing Unit,CPU)有更多的时间处理其他事务
阅读全文
摘要:Verilog 奇数分频器 偶数分频的原理就是计数到N/2 1后对分频输出取反。而如果分频数N为基数,则需要: clk_out1 在clk 上升沿 计数到 (N 1)/2 1后取反, 计数到N 1以后再取反 clk_out2 在clk 下降沿 计数到 (N 1)/2 1后取反, 计数到N 1以后再取
阅读全文
摘要:Verilog 无glitch时钟切换电路 https://blog.csdn.net/bleauchat/article/details/96180815 题目:用Verilog实现glitch free时钟切换电路。输入sel,clka,clkb,sel为1输出clka,sel为0输出clkb
阅读全文
摘要:Verilog -- 序列检测器及其最小状态数 笔试题:序列检测器检测11011001序列,最少需要几个状态? Mearly 型: | State\Input | 0 | 1 | |--|--|--| | IDLE | 0\0 | 1\0 | | 0| 0\0 | 1\0 | | 1| 0\0 |
阅读全文
摘要:Verilog 状态机 参考: https://blog.csdn.net/woshiyuzhoushizhe/article/details/95866063 https://blog.csdn.net/qq_34070723/article/details/100737225 https://w
阅读全文
摘要:Verilog testbench的initial块中阻塞与非阻塞赋值问题 问题描述 在testbench的编写中经常要做的就是在initial块中对一些信号变化进行描述。 比如希望信号start在仿真开始后第10个周期上升沿置为高电平。 对于仿真时钟一般都会这么写: + 如果初始化clk = 0,
阅读全文
摘要:参考: https://blog.csdn.net/vivid117/article/details/101427302 http://wscentity.lofter.com/post/1d00edbd_6476453 Verilog中有符号与无符号的加法和乘法运算 [TOC] 无符号乘法和加法
阅读全文

浙公网安备 33010602011771号