0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

verilog基础知识介绍

FPGA之家 来源:FPGA之家 2023-05-29 09:16 次阅读

1、组合逻辑的竞争冒险

组合逻辑:任何时刻电路的稳定输出,仅仅取决于该时刻各个输入变量的取值。

组合逻辑的竞争冒险:当输入信号同事变化时,组合逻辑必然产生毛刺。

解决方法:用时序逻辑,每次寄存器的输出结果取决于上一个时钟的寄存器的值,不会产生毛刺。

9c6ddcb6-fdb1-11ed-90ce-dac502259ad0.png

2、寄存器reg可以用在时序逻辑也可以用在组合逻辑

时序逻辑就是平时写的clk触发

组合逻辑例如always@(b) out1 =~ b;

触发器具有记忆性原因:普通的门电路输出信号只取决于当前输入信号,无记忆性,但是触发器

的输出还和之前的状态有关,比如JK触发器:Qn+1 = JQn_ + K_Qn

3、时序,组合逻辑,阻塞与非阻塞区别

//time    非阻塞

always @(posedge clk)
begin
    time_nblock  <= sig_in;
    time_nblock1 <= time_nblock;
end

//time  阻塞
always @(posedge clk)
begin
    time_block  = sig_in;
    time_block1 = time_block;
end

//combine    非阻塞

always @(*)
begin
    com_nblock  <= sig_in;
    com_nblock1 <= com_nblock;
end

//combine 阻塞

always @(*)
begin
    com_block  = sig_in;
    com_block1 = com_block;
end

综合出来的电路

9c9901ac-fdb1-11ed-90ce-dac502259ad0.png

时序电路,会生成D触发器,根据电路可以看出阻塞赋值和非阻塞赋值,一个always块结束之后,阻塞赋值结果都是一样的,但是非阻塞

赋值的话,是同事变化的,time_nblock得到sig的同时,time_nblock1也得到time_nblock之前得值。

阻塞赋值从电路上看,非阻塞和阻塞都是一样得,modelsim仿真也是这么个情况。

一般来说,时序逻辑用非阻塞赋值,组合逻辑用阻塞赋值。

4、与门

assignq = (al == 1) ? d : 0;

5、亚稳态

亚稳态定义:在进行fpga设计时,往往只关心“0”和"1"两种状态。然而在工程实践中,除了”0“、”1“外还有其他状态,亚稳态就是其中之一。

亚稳态是指触发器或锁存器无法在某个规定时间段内达到一个可确认的状态[1]。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,

也无法预测何时输出才能稳定在某个正确的电平上。在亚稳态期间,触发器输出一些中间级电平,甚至可能处于振荡状态,并且这种无用的输

出电平可以沿信号通道上的各个触发器级联式传播下去。亚稳态是异步数字电路设计中的固有现象,但是由于其偶发性和温度敏感性的特点,

产品前期测试过程中很难发现。

亚稳态产生的原因:1、时序不满足,例如不满足建立时间和保持时间。

2、不同时钟域接口

9ca618ce-fdb1-11ed-90ce-dac502259ad0.png

例如当数据刚传过来的时候,clkb恰好来了一个上升沿

亚稳态的解决方法:1、单比特信号打两拍寄存器,我看网上亚稳态有一个震荡周期,如果震荡周期大于一个时钟的话那么一级缓存之后仍然会有亚稳态

现象,所以两级缓存就比较靠谱了。

2、多比特信号fifo






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5321

    浏览量

    120016
  • Verilog
    +关注

    关注

    28

    文章

    1345

    浏览量

    109986
  • 触发器
    +关注

    关注

    14

    文章

    1996

    浏览量

    61052
  • FIFO存储
    +关注

    关注

    0

    文章

    103

    浏览量

    5963

原文标题:verilog知识

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    哪有FPGA的verilog编程基础知识

    没接触过FPGA开发,那个verilog编程有什么入门基础知识学习的?
    发表于 04-29 23:09

    Verilog HDL练习题和Verilog基础知识适合verilog新人

    Verilog HDL练习题和Verilog基础知识适合verilog新人Verilog HDL练习题.pdfVerilog
    发表于 08-15 15:08

    电感基础知识 图文介绍

    `电感基础知识 图文介绍`
    发表于 08-16 19:34

    IGBT的介绍和应用基础知识

    IGBT的介绍和应用,基础知识
    发表于 06-24 22:42

    Verilog基础知识

    Verilog基础知识
    发表于 09-30 08:50

    电阻的基础知识介绍

    电阻基础知识介绍
    发表于 02-26 06:17

    介绍关于编程的基础知识

    关注、星标公众号,不错过精彩内容作者:strongerHuang对于软件工程师来说,代码升级(或程序更新)算是必备基础知识。下面将介绍关于编程的基础知识,以及结合STM32官方提供的De...
    发表于 07-27 08:13

    介绍PLC的原理及基础知识

    在自动化控制领域,PLC应用十分广泛,这里开始介绍PLC的原理及基础知识
    发表于 09-09 09:07

    Verilog HDL基础知识

    Verilog HDL基础知识:硬件描述语言是硬件设计人员和电子设计自动化工具之间的界面。其主要目的是用来编写设计文件,建立电子系统行为级的仿真模型即利用计算机的巨大能力对用
    发表于 05-31 19:33 49次下载

    GSM基础知识介绍

    GSM基础知识介绍
    发表于 07-29 17:18 75次下载
    GSM<b class='flag-5'>基础知识</b>的<b class='flag-5'>介绍</b>

    Verilog基础知识

    Verilog基础知识,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-10 15:29 4次下载

    Verilog_HDL基础知识非常好的学习教程 (1)

    Verilog_HDL基础知识非常好的学习教程 (1)
    发表于 01-04 12:33 0次下载

    Verilog教程之Verilog HDL数字集成电路设计方法和基础知识课件

    本文档的主要内容详细介绍的是Verilog教程之Verilog HDL数字集成电路设计方法和基础知识课件
    发表于 12-09 11:24 53次下载
    <b class='flag-5'>Verilog</b>教程之<b class='flag-5'>Verilog</b> HDL数字集成电路设计方法和<b class='flag-5'>基础知识</b>课件

    Verilog基础知识

    本节主要讲解了 Verilog基础知识,包括 7 个小节,下面我们分别给大家介绍这 7 个小节的内容。
    的头像 发表于 08-15 09:04 2384次阅读

    Verilog HDL的基础知识

    本文继续介绍Verilog HDL基础知识,重点介绍赋值语句、阻塞与非阻塞、循环语句、同步与异步、函数与任务语法知识
    的头像 发表于 10-24 15:00 183次阅读
    <b class='flag-5'>Verilog</b> HDL的<b class='flag-5'>基础知识</b>