草庐IT

Verilog设计_找到1的位置

在输入数据中找到1的位置:找到第一个1的位置和最后一个1的位置。给出了两种设计方法:第一种使用二分法,但是有一定局限性;第二种则是通用的参数化设计方法。目录一、二分法实现二、参数化实现一、二分法实现输入一个数据,输出第一个1所在的位置和最后一个1所在的位置。代码实现:modulepos(inputclk,inputrst_n,input[7:0]din,output[2:0]first_pos,output[2:0]last_pos);wire[3:0]first_data_4;wire[1:0]first_data_2;wire[3:0]last_data_4;wire[1:0]last_d

FPGA流水线除法器(Verilog)原理及实现

FPGA流水线除法器(Verilog)原理及实现流水线除法器原理  除法器的计算过程如下图所示。计算步骤假设数值的位宽为N。Step1:分别将被除数和除数扩展至原来2倍位宽(2N),被除数在其左边补N位0,除数在其右边补N位0;Step2:将被除数依次左移(每次左移1位),末位补数值(该数值为被除数高N位与除数高N位的商),高N位为被除数高N位与除数高N位的余数。移位执行N次,执行N次后,进入Step3;Step3:此时被除数的低N位为计算得到的商,被除数的高N位为计算得到的余数。流水线除法器Verilog代码modulepipeline_divider#( parameter N=8)(

【Verilog编程】线性反馈移位寄存器(LFSR)原理及Verilog代码实现

文章目录一、移位寄存器的基本概念1.移位寄存器2.反馈移位寄存器3.线性反馈移位寄存器状态抽头种子二、LFSR的一些基本概念1.级数和周期2.特征多项式三、LFSR的分类1.斐波那契LFSR:多到一型LFSR(manytoone)从左到右依次递增编号从右到左依次递减编号三级斐波那契LFSR的Verilog代码实现2.伽罗瓦LFSR:一到多型LFSR(onetomany)从左到右依次递增编号从左到右依次递减编号三级伽罗瓦LFSR的Verilog代码实现3.斐波那契LFSR与伽罗瓦LFSR的对比4.LFSR的全零禁止态斐波那契LFSR禁止态处理三级斐波那契LFSR禁止态处理的Verilog代码实现

vcs+verdi仿真Verilog代码

我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。源文件内容如下://adder.vmoduleadder(inputclk,inputrst,input[9:0]A,input[9:0]B,outputreg[10:0]C);always@(posedgeclk)beginif(rst)C我们再定义一个宏定义的文件://macro_define.sv`defineFFD1ns我们需要再定义一个testbench文件://test.svmoduletest;regclk;regrst;reg[9:0]A;reg[9:0]B;wire[10:0]C;in

【蜂鸟E203内核解析】Chap.3 自定义指令与协处理器设计

【蜂鸟E203内核解析】Chap.3自定义指令与协处理器设计1.概念2.NICE处理器怎么独立于“主核进程”进行调用?3.怎么自定义一条RISC-V指令4.NICE指令设计5.NICE协处理器的设计6.自定义指令与NICE协处理器的验证7.e203_subsys_nice_core.v注释前言:  讲到蜂鸟E203就一定要学习它的NICE核,包括集创赛都有要求使用。可以简单分为两步:NICE协处理器怎么设计、自定义指令怎么设置才能调用所设计的NICE处理器。  本文均为作者原创,内容均来自本人的毕业设计。未经授权严禁转载、使用。里面的插图和表格均为作者本人制作,如需转载请联系我并标注引用参考。

【蜂鸟E203内核解析】Chap.3 自定义指令与协处理器设计

【蜂鸟E203内核解析】Chap.3自定义指令与协处理器设计1.概念2.NICE处理器怎么独立于“主核进程”进行调用?3.怎么自定义一条RISC-V指令4.NICE指令设计5.NICE协处理器的设计6.自定义指令与NICE协处理器的验证7.e203_subsys_nice_core.v注释前言:  讲到蜂鸟E203就一定要学习它的NICE核,包括集创赛都有要求使用。可以简单分为两步:NICE协处理器怎么设计、自定义指令怎么设置才能调用所设计的NICE处理器。  本文均为作者原创,内容均来自本人的毕业设计。未经授权严禁转载、使用。里面的插图和表格均为作者本人制作,如需转载请联系我并标注引用参考。

【Verilog】二、Verilog基础语法

文章目录前言一、简单的Verilog知识1.1、Verilog端口定义1.2、Verilog的标识符1.3、Verilog的逻辑值1.4、Verilog的数字进制1.5、Verilog的数据类型1.5.1、reg型     1.5.2、wire型1.5.3、参数类型1.6、Verilog的运算符1.6.1、算术运算符1.6.2、关系运算符1.6.3、逻辑运算符1.6.4、条件运算符1.6.5、位运算符1.6.6、移位运算符1.6.7、拼接运算符二、Verilog程序设计2.1、Verilog程序框架搭建2.2、Verilog程序注释2.3、Verilog关键字总结前言    上文我们对Veri

【Verilog】二、Verilog基础语法

文章目录前言一、简单的Verilog知识1.1、Verilog端口定义1.2、Verilog的标识符1.3、Verilog的逻辑值1.4、Verilog的数字进制1.5、Verilog的数据类型1.5.1、reg型     1.5.2、wire型1.5.3、参数类型1.6、Verilog的运算符1.6.1、算术运算符1.6.2、关系运算符1.6.3、逻辑运算符1.6.4、条件运算符1.6.5、位运算符1.6.6、移位运算符1.6.7、拼接运算符二、Verilog程序设计2.1、Verilog程序框架搭建2.2、Verilog程序注释2.3、Verilog关键字总结前言    上文我们对Veri

ASIC-WORLD Verilog(5)基础语法下篇

写在前面        在自己准备写一些简单的verilog教程之前,参考了许多资料----asic-world网站的这套verilog教程即是其一。这套教程写得极好,奈何没有中文,在下只好斗胆翻译过来(加了自己的理解)分享给大家。    这是网站原文:http://asic-world.com/verilog/veritut.html        这是系列导航:Verilog教程系列文章导航模块(Modules)模块是verilog设计的基本组成形式你可以在模块中调用别的模块来实现层次化设计                在下面的图片中可以看到:顶层模块分别由左、右上、右下三个子模块构成左

ASIC-WORLD Verilog(5)基础语法下篇

写在前面        在自己准备写一些简单的verilog教程之前,参考了许多资料----asic-world网站的这套verilog教程即是其一。这套教程写得极好,奈何没有中文,在下只好斗胆翻译过来(加了自己的理解)分享给大家。    这是网站原文:http://asic-world.com/verilog/veritut.html        这是系列导航:Verilog教程系列文章导航模块(Modules)模块是verilog设计的基本组成形式你可以在模块中调用别的模块来实现层次化设计                在下面的图片中可以看到:顶层模块分别由左、右上、右下三个子模块构成左