#verilog

Verilog 加法器和减法器(2)

类似半加器和全加器,也有半减器和全减器。半减器只考虑当前两位二进制数相减,输出为差以及是否向高位借位,而全减器还要考虑当前位的低位是否曾有借位。它们的真值表如下:对半减器,diff=x^y,cin=~x&y对全减器,要理解真值表,可以用举列子的方法得到,比如4’b1000-4b'0001,则第一位对应01011...
代码星球 ·2020-05-14

Verilog 加法器和减法器(1)

   两个一位的二进制数x,y相加,假设和为s,进位为cout,其真值表为:     从真值表中,我们可以得到:s=x^y,cout=x&y,实现两个一位数相加的逻辑电路称为半加器。 实现该电路的verilog代码如下:m...
代码星球 ·2020-05-14

Verilog笔记.三段式状态机

之前都是用的一段式状态机,逻辑与输出混在一起,复杂点的就比较吃力了。所以就开始着手三段式状态机。组合逻辑与时序逻辑分开,这样就能简单许多了。但是两者在思考方式上也有着很大的区别。 三段式,分作:状态寄存器,次态组合逻辑,输出逻辑。以下今天写完的程序。1//stateregister2always@(posed...

Verilog设计Valid-Ready握手协议

http://ninghechuan.com/2019/01/17/Verilog%E8%AE%BE%E8%AE%A1Valid-Ready%E6%8F%A1%E6%89%8B%E5%8D%8F%E8%AE%AE/     HandshakeProtocol握手协议:为...

cache verilog实现

cache原理:https://www.cnblogs.com/mikewolf2002/p/10984976.htmlcache的verilog实现实现的cache是16k,4way组相连cache,每个set是256个cacheline,每个cacheline是16byte,所以总的size是256*4*16=16...
代码星球 ·2020-04-18

在verilog中使用格雷码

格雷码的一些知识:   https://baike.baidu.com/item/%E6%A0%BC%E9%9B%B7%E7%A0%81/6510858?fr=aladdin绿色框起来的是0--15的格雷码,用红线将格雷码分为上下两部分。通过观察格雷码相邻位每次只有1位发生变化,且上下两部...
代码星球 ·2020-04-18

Verilog 加法器和减法器(8)-串行加法器

     如果对速度要求不高,我们也可以使用串行加法器。下面通过状态机来实现串行加法器的功能。    设A=an-1an-2…a0,B=bn-1bn-2…b0,是要相加的两个无符号数,相加的和为:sum=sn-1sn-2…s0。我...

verilog语法实例学习(13)

verilog代码编写指南  1. 分节书写,各节之间加1到多行空格。     如每个always,initial语句都是一节。每节基本上完成一个特定的功能,即用于描述某几个信号的产生。在每节之前有几行注释对该节代码加以描述,至少列出本节中描述的信号的含义。  2. 行...
代码星球 ·2020-04-18

verilog语法实例学习(12)

verilog中的综合和不可综合总结     综合就是EDA工具或者说综合工具把我们编写的verilog代码转化成具体电路的过程。Verilog中有很多语法,结构,过程,语句,有些是可以综合的,有些是不可以综合的,不可综合的语句或者语法通常用在testbench中,只是...
代码星球 ·2020-04-18

verilog语法实例学习(11)

     一个实际问题的描述:假设自动驾驶的汽车,以一定的速度运行,w=0,表示运行速度正常,w=1,表示运行超速。速度控制的策略,等间隔时间检测速度,如果两次或多次连续超速(w=1),则在一个时间间隔后开始设置减速信号z=1,否则z=0。如果用电路描述上述问题,则等时...
代码星球 ·2020-04-18

verilog语法实例学习(10)

常用的时序电路介绍     在D触发器输入端添加一些简单的逻辑电路,可以生成另一种类型的存储元件。比如下图所示的T触发器。该电路有一个上升沿触发的触发器和两个与门,一个或门,以及一个反相器组成。    在时钟上升沿到来之时,若T=...
代码星球 ·2020-04-18

verilog语法实例学习(9)

常用的时序电路介绍    一个触发器可以存储一位数据,由n个触发器组成的电路可以存储n位数据,我们把这一组触发器叫做寄存器。寄存器中每个触发器共用同一个时钟。    下面是n位寄存器的代码,我们通过一个参数定义n,在实例化时传入参数n。mo...
代码星球 ·2020-04-18

verilog语法实例学习(8)

常用的时序电路介绍D触发器类似锁存器,区别是它在时钟边沿触发,比如下面的代码在时钟上升沿触发Q=D。moduleflipflop(D,clk,Q);inputD;inputclk;outputregQ;always@(posedgeclk)Q<=D;endmodule`timescale1ns/1ns`defin...
代码星球 ·2020-04-18

verilog语法实例学习(7)

常用的时序电路介绍     组合电路:这类电路的输出信号值仅却决于输入端信号值。          时序电路:时序电路的输出值不仅取决于当前的输入值,还取决于电路的历史状...
代码星球 ·2020-04-18

verilog语法实例学习(5)

子电路模块    一个verilog模块能够作为一个子电路包含在另一个模块中。采用这种方式,所有的模块都必须定义在一个文件中,那么verilog编译器就必须被告知每个模块的所属。模块例化的通用形式和门例化语句类似。     mod...
代码星球 ·2020-04-18
首页上一页123下一页尾页