12 2018 档案

触发器的时序参数与时序分析
摘要:一、概念 在实际电路中,必须考虑传输延迟的影响。比如D锁存器,在时钟信号从1变成0时,它把当前输出的值储存在锁存器中。如果输入D稳定,则电路可以稳定工作,如果在时钟跳变时候D的内容也正好发生变化,则可能产生不可预知的结果。所以电路设计者必须保证时钟信号跳变时后,输入信号是稳定的。 下图中标示了一些关键时间区间,这些区间和工艺有关。集成电路制造厂家都会提供这个参数。 建立... 阅读全文

posted @ 2018-12-30 20:56 迈克老狼2012 阅读(5541) 评论(0) 推荐(1) 编辑

verilog语法实例学习(13)
摘要:verilog代码编写指南变量及信号命名规范 1. 系统级信号的命名。 系统级信号指复位信号,置位信号,时钟信号等需要输送到各个模块的全局信号;系统信号以字符串Sys开头。 2. 低电平有效的信号后一律加下划线和字母n。如:SysRst_n;FifoFull_n; 3. 经过锁存器锁存后的信号,后加下划线和字母r,与锁存前的信号区别 如CpuRamRd信号,经锁存后应... 阅读全文

posted @ 2018-12-29 20:14 迈克老狼2012 阅读(761) 评论(0) 推荐(0) 编辑

verilog语法实例学习(12)
摘要:verilog中的综合和不可综合总结Verilog中综合的概念 综合就是EDA工具或者说综合工具把我们编写的verilog代码转化成具体电路的过程。Verilog中有很多语法,结构,过程,语句,有些是可以综合的,有些是不可以综合的,不可综合的语句或者语法通常用在testbench中,只是用来仿真验证。(1)所有综合工具都支持的结构:always,assign,begin,end,case... 阅读全文

posted @ 2018-12-29 20:12 迈克老狼2012 阅读(845) 评论(0) 推荐(0) 编辑

verilog语法实例学习(11)
摘要:同步时序电路的一般形式 时序电路由组合逻辑以及一个或多个触发器实现。一般的架构如下图所示:W为输入,Z为输出,触发器中存储的状态为Q。在时钟信号的控制下,触发器通过加在其输入端的组合逻辑输入,使得电路从一个状态变成另一个状态。采用边沿触发的触发器可以确保一个时钟周期内只发生一次状态变化。它们可以由时钟上升沿或下降沿触发,产生这种状态变化的时钟边沿称为有效时钟边沿。 发器有两路组... 阅读全文

posted @ 2018-12-29 20:10 迈克老狼2012 阅读(877) 评论(0) 推荐(0) 编辑

verilog语法实例学习(10)
摘要:常用的时序电路介绍T触发器和JK触发器 在D触发器输入端添加一些简单的逻辑电路,可以生成另一种类型的存储元件。比如下图所示的T触发器。该电路有一个上升沿触发的触发器和两个与门,一个或门,以及一个反相器组成。 在时钟上升沿到来之时,若T=0,则D=Q,若T=1,则D=~Q,因此,若T=0,在上升沿,电路保持当前状态,若T=1,则当前状态反转。 T触发器特性表图下,T触发器是... 阅读全文

posted @ 2018-12-29 19:59 迈克老狼2012 阅读(1817) 评论(0) 推荐(0) 编辑

verilog语法实例学习(9)
摘要:常用的时序电路介绍寄存器 一个触发器可以存储一位数据,由n个触发器组成的电路可以存储n位数据,我们把这一组触发器叫做寄存器。寄存器中每个触发器共用同一个时钟。 下面是n位寄存器的代码,我们通过一个参数定义n,在实例化时传入参数n。module regne (D, clk,Rst_n,E,Q); parameter n=4; input [n-1:0] D; input clk... 阅读全文

posted @ 2018-12-29 19:57 迈克老狼2012 阅读(860) 评论(0) 推荐(0) 编辑

verilog语法实例学习(8)
摘要:常用的时序电路介绍 在电平敏感的锁存器时钟信号有效期(高电平)期间,锁存器的状态随着输入信号的变化而变化。有时候,我们需要存储器的状态在一个时钟周期只改变一次,这个时候就用到了触发器。触发器(flipflop)这个术语表示在时钟的边沿时刻改变状态的存储元件。下面分别是D锁存器,D触发器(正边沿,上升沿触发),D触发器(负边沿,下降沿触发)的图形符号。图中用>表示边沿触发,小圆圈表示该触发... 阅读全文

posted @ 2018-12-27 10:32 迈克老狼2012 阅读(2266) 评论(0) 推荐(0) 编辑

verilog语法实例学习(7)
摘要:常用的时序电路介绍 组合电路:这类电路的输出信号值仅却决于输入端信号值。 时序电路:时序电路的输出值不仅取决于当前的输入值,还取决于电路的历史状态,所以时序逻辑电路中包含保存逻辑信号值的存储元件,存储元件中的值代表了当前电路的状态。当电路的的输入信号值发生改变时,新输入的信号值可能使电路保持同样的状态,也可能使电路进入另一种状态,随着时间推移,输入信号值的变化导致电... 阅读全文

posted @ 2018-12-27 10:30 迈克老狼2012 阅读(1367) 评论(0) 推荐(0) 编辑

verilog语法实例学习(6)
摘要:函数和任务函数https://wenku.baidu.com/view/d31d1ba8dd3383c4bb4cd283.htmlverilog中函数的目的是允许代码写成模块的方式而不是定义独立的模块。函数通常用于计算或描述组合逻辑。如果在模块内定义一个函数,则既可以用连续赋值语句,也可以用过程赋值语句调用。函数可以有不只一个输入,但只能有一个输出,因为函数名本身就充当输出变量。verilog中函... 阅读全文

posted @ 2018-12-27 10:29 迈克老狼2012 阅读(2268) 评论(0) 推荐(0) 编辑

verilog语法实例学习(5)
摘要:子电路模块子电路模块的使用 一个verilog模块能够作为一个子电路包含在另一个模块中。采用这种方式,所有的模块都必须定义在一个文件中,那么verilog编译器就必须被告知每个模块的所属。模块例化的通用形式和门例化语句类似。 modulename [#(parameter overrides)] instance_name( port_name([express... 阅读全文

posted @ 2018-12-27 10:24 迈克老狼2012 阅读(2168) 评论(0) 推荐(0) 编辑

verilog语法实例学习(4)
摘要:Verilog模块Verilog中代码描述的电路叫模块,模块具有以下的结构:module module_name[ (portname {, portname})]; //端口列表[parameter declarations] //参数定义[input declarations] // I/O定义[output declarations][inout declarations][wire or ... 阅读全文

posted @ 2018-12-27 10:22 迈克老狼2012 阅读(5908) 评论(0) 推荐(0) 编辑

verilog语法实例学习(3)
摘要:Verilog 操作运算符算术运算符+,-,*,/,**(加/减/乘/除/幂运算),乘法运算的结果的位宽是乘数和被乘数位宽的和。在进行整数的除法运算时,结果要略去小数部分,只取整数部分;而进行取模运算时(%,亦称作求余运算符)结果的符号位采用模运算符中第一个操作数的符号。-10%3 =-1 11%-3 结果为2注意:在进行算术运算时,如果某一个操作数有不确定的值x,则整个结果也为不确定值x。下面的... 阅读全文

posted @ 2018-12-27 10:01 迈克老狼2012 阅读(2878) 评论(0) 推荐(0) 编辑

verilog语法实例学习(2)
摘要:Verilog中的信号类型线网类型 线网类型表示一个或多个门或者其它类型的信号源驱动的硬件连线。如果没有驱动源,则线网的默认值为z。verilog中定义的线网类型有以下几种: wire,tri,wor,trior,wand,triand,trireg,tri1,tri0,supply0,supply1。其中最主要的是wire/tri,其它的类型都是综合中用不到的线网。wire线网... 阅读全文

posted @ 2018-12-27 09:49 迈克老狼2012 阅读(7960) 评论(0) 推荐(1) 编辑

verilog语法实例学习(1)
摘要:本文档中通过verilog实例来学习verilog语法。Verilog是一种硬件描述语言,它具有并发性和时序性。并发性是指不同硬件模块的同时操作,时序性是指信号的赋值或操作在时钟的边沿进行。由于作者本身也是一个初学者,所以尽量用简单明了的例子介绍Verilog语法。Verilog中的注释 Verilog代码中的注释和c++语言相同,分为短注释(//)和长注释(/* … */)。短... 阅读全文

posted @ 2018-12-27 09:31 迈克老狼2012 阅读(10325) 评论(0) 推荐(0) 编辑

verilog语法学习目录
摘要:verilog语法实例学习(1) Verilog中的注释Verilog中的信号标识符信号的值Verilog中的数字Verilog中的参数 verilog语法实例学习(2)线网类型变量类型有符号数数组wire和reg类型的区别verilog语法实例学习(3) Verilog 操作运算符verilog语法实例学习(4) Verilog模块 并行语句: 连续赋值语句门实例化语... 阅读全文

posted @ 2018-12-27 09:02 迈克老狼2012 阅读(1192) 评论(0) 推荐(1) 编辑

在testbench从文件读入激励
摘要:在验证verilog逻辑模块功能时候,我们可以从文件中读入激励,便于大规模的验证。文件中的数据我们可以用c++编写程序产生。第一种读入文件的方法是用系统函数:$readmemb, readmemh, 第一个函数是读入二进制的字符串,第二个是读入16进制的字符串。我们准备两个文本文件x1.txt1111101011100001y1.txt1101010110100001我们验证一个四位的加法器加法器... 阅读全文

posted @ 2018-12-21 19:36 迈克老狼2012 阅读(2479) 评论(0) 推荐(1) 编辑

Verilog 加法器和减法器(7)
摘要:在计算机中浮点数 表示通常采用IEEE754规定的格式,具体参考以下文章。https://www.cnblogs.com/mikewolf2002/p/10095995.html下面我们在Verilog中用状态机实现单精度浮点数的加减法功能。这个实现是多周期的单精度浮点加法。浮点加法分为以下几个步骤:1.初始化阶段,分离指数和尾数以及符号位。判断加数和被加数是否是规约浮点数,不是话,直接置over... 阅读全文

posted @ 2018-12-18 19:58 迈克老狼2012 阅读(2588) 评论(0) 推荐(0) 编辑

浮点数的表示和运算
摘要:参考了以下链接, 并修正了其中的一些错误。https://www.cnblogs.com/FlyingBread/archive/2009/02/15/660206.html一个在线转化工具http://www.binaryconvert.com/convert_float.html1 浮点数的表示IEEE754用下面的格式来表示浮点数SPM其中S是符号位,P是阶码,M是尾数单精度浮点数是32位(... 阅读全文

posted @ 2018-12-10 13:37 迈克老狼2012 阅读(9892) 评论(1) 推荐(1) 编辑

Verilog 加法器和减法器(6)
摘要:为了减小行波进位加法器中进位传播延迟的影响,可以尝试在每一级中快速计算进位,如果能在较短时间完成计算,则可以提高加法器性能。 我们可以进行如下的推导: 设 gi=xi&yi, pi = xi +y i ci+1 = xi&y i+x i&ci+yi&ci=xi&yi + (xi+yi)&ci=g i+pi&c i = gi+pi&(gi-1+pi-1&ci-1)=... 阅读全文

posted @ 2018-12-08 19:08 迈克老狼2012 阅读(1643) 评论(0) 推荐(1) 编辑

Verilog 加法器和减法器(5)
摘要:前面二进制加法运算,我们并没有提操作数是有符号数,还是无符号数。其实前面的二进制加法对于有符号数和无符号数都成立。比如前面的8位二进制加法运算,第一张图我们选radix是unsigned,表示无符号加法,第二张图我们选radix是decimal,表示有符号数,从图中可知结果都是正确的。对于有符号数来说,负数默认是补码的形式存在。假设二进制数是n位,则对于无符号数来说,表示范围是0~(2... 阅读全文

posted @ 2018-12-08 09:19 迈克老狼2012 阅读(5150) 评论(0) 推荐(1) 编辑

Verilog 加法器和减法器(4)
摘要:类似于行波进位加法器,用串联的方法也能够实现多位二进制数的减法操作。 比如下图是4位二进制减法逻辑电路图。 8位二进制减法的verilog代码如下:module subn(x, y, d,cin); parameter n=8; input [n-1:0] x; input [n-1:0] y; output reg[n-1:0] d; //diff ou... 阅读全文

posted @ 2018-12-08 08:21 迈克老狼2012 阅读(4031) 评论(0) 推荐(0) 编辑

Verilog 加法器和减法器(3)
摘要:手工加法运算时候,我们都是从最低位的数字开始,逐位相加,直到最高位。如果第i位产生进位,就把该位作为第i+1位输入。同样的,在逻辑电路中,我们可以把一位全加器串联起来,实现多位加法,比如下面的四位加法电路。这种加法电路叫行波进位加法器。 每一级的进位cout传到下一级时都有一个延时,假设为t, 则总的延时为 n*t, n为操作数的位数,比如四位行波进位加法器,为4t。因为t是... 阅读全文

posted @ 2018-12-07 15:02 迈克老狼2012 阅读(2321) 评论(0) 推荐(2) 编辑

Verilog 加法器和减法器(2)
摘要:类似半加器和全加器,也有半减器和全减器。半减器只考虑当前两位二进制数相减,输出为差以及是否向高位借位,而全减器还要考虑当前位的低位是否曾有借位。它们的真值表如下:对半减器,diff = x ^y, cin = ~x&y对全减器,要理解真值表,可以用举列子的方法得到,比如4’b1000-4b'0001,则第一位对应0 1 0 1 1第二位对应的是0 0 1 1 1从真值表中,可以得到 diff = ... 阅读全文

posted @ 2018-12-07 11:20 迈克老狼2012 阅读(3183) 评论(0) 推荐(1) 编辑

Verilog 加法器和减法器(1)
摘要:两个一位的二进制数x,y相加,假设和为s,进位为cout,其真值表为: 从真值表中,我们可以得到:s = x^y, cout = x&y,实现两个一位数相加的逻辑电路称为半加器。 实现该电路的verilog代码如下:module halfadd(x,y,s,cout); input x; input y; output s; output cout; assign ... 阅读全文

posted @ 2018-12-06 20:33 迈克老狼2012 阅读(7802) 评论(0) 推荐(1) 编辑

逻辑门电路详解
摘要:原文链接:https://mp.weixin.qq.com/s/BDe_OMK-r7ATZVSXrpAguw?逻辑门(Logic Gates)是集成电路设计的基本组件。通过晶体管或MOS管组成的简单逻辑门,可以对输入的电平(高或低)进行一些简单的逻辑运算处理,而简单的逻辑门可以组合成为更复杂的逻辑运算,是超大规模集成电路设计的基础。最基本的逻辑门有三种,即“与”、“或”、“非”,其符号如下图所示:... 阅读全文

posted @ 2018-12-06 13:22 迈克老狼2012 阅读(1546) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示