数字电路EDA综合设计verilog笔记(持续更新)

这篇具有很好参考价值的文章主要介绍了数字电路EDA综合设计verilog笔记(持续更新)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


目录

1、常用组合电路模块的设计

1、基本门电路(常用3种描述方法)

2、译码器与编码器

(1)译码器(decoder)

(2)编码器(encoder)

2、常用时序电路模块的设计

1、D触发器

2、数据锁存器

3、实用电路设计


1、常用组合电路模块的设计

1、基本门电路
2、译码器与编码器
3、数据选择器
4、奇偶校验产生器

1、基本门电路(常用3种描述方法)

(1)调用门原语(元件例化)——必须明确电路内部逻辑关系;
数字电路EDA综合设计verilog笔记(持续更新)

(2)用assign连续赋值语句描述——写出逻辑表达式;

数字电路EDA综合设计verilog笔记(持续更新)

(3)用过程赋值语句描述——在always块内写出逻辑表达式;

过程赋值有两种:initial和always;initial用于写仿真测试文件;

数字电路EDA综合设计verilog笔记(持续更新)

@符后跟的是敏感列表(敏感信号);敏感信号分两类:电平信号、边沿信号;

2、译码器与编码器

(1)译码器(decoder)

  • 译码是编码的逆过程。其功能是将具有特定含义的⼆进制码进⾏辨别,并转换成控制信号,具有译码功能的逻辑电路称为译码器。如果有n个⼆进制选择线,则最多可译码转换成2n个数据。
  • 译码器:将输入的二进制代码翻译成相应的输出信号,以表示编码时所赋予原意的电路。
  • 多条件译码电路大多用case语句实现——只需知道真值表。

案例1:3-8译码器;

对3位输入信号进行译码,当输入信号表示数字几时,8位输出线的相应位为0其余位均为1

数字电路EDA综合设计verilog笔记(持续更新)
3-8译码器功能介绍:

  • 将输⼊的3位2进制数翻译成10进制的8位输出。
  • 3-8译码器输⼊是⼆进制。3只脚也就是3位⼆进制数。输⼊可以3位⼆进制数。3位⼆进制最⼤是111 也就是8。
  • 3-8译码器输出是8个脚,表⽰10进制。是根据输⼊的⼆进制数输出。如果输⼊是101 那么就是第5只脚⾼电平,表⽰⼆进制数是5。
  • 3-8线译码器是⼀种全译码器(⼆进制译码器)。全译码器的输⼊是3位⼆进制代码,3位⼆进制代码共有8种组合,故输出是与这8种组合⼀⼀对应的8个输出信号。
  • 译码器将每种⼆进制的代码组合译成对应的⼀根输出线上的⾼(低)平信号。
  • 3-8译码器真值如下所⽰:(A1、A2、A3分别为输入端,G1为使能端的高电平,Y0、Y1、Y2、Y3、Y4、Y5、Y6、Y7分别为输出端)

数字电路EDA综合设计verilog笔记(持续更新)

数字电路EDA综合设计verilog笔记(持续更新)

(2)编码器(encoder)

  • 编码器:将一个输入信号编码成一组二进制代码输出。
  • 优先编码器:有两个或两个以上的输入信号有效时只对优先级最高的信号进行编码的电路。
  • 利用if_else语句的分支具有先后顺序的特点,用if_else语句可方便地实现优先编码器。

案例2:8-3优先编码器;
输入为a、b、c、d、e、f、g、h,高电平有效,h的优先级最高。当输入中某些位为1时,只对优先级最高的那位编码,使输出等于其对应的编号(a~h对应编号为0~7)。

数字电路EDA综合设计verilog笔记(持续更新)

2、常用时序电路模块的设计

1、D触发器
2、数据锁存器
3、数据寄存器
4、移位寄存器
5、任意模加法/减法计数器

数字电路EDA综合设计verilog笔记(持续更新)

其中:

  • 双稳态包括(Q, Q');
  • 最常用触发器是:JK触发器、D触发器;(触发器根据特性方程、特性表分析其对应功能);
  • JK触发器功能:置0(01)、置1(10)、保持(00)、翻转(11);
  • D触发器功能:置0、置1;
  • n表示现态、n+1表示下一个状态(次态);

1、D触发器

通常有3种D触发器,用always块语句实现:
(1)最简单的D触发器(只有一个沿触发信号clk)

案例1:基本D触发器;

数字电路EDA综合设计verilog笔记(持续更新)

因为要对q赋值,所以定义为reg寄存器型;

只有上升沿时d赋值给q,其余时刻q的值处于保持状态,不变;

逻辑符号如下:

数字电路EDA综合设计verilog笔记(持续更新)
数字电路EDA综合设计verilog笔记(持续更新)

(2)带异步清0、异步置1端的D触发器
案例2:带异步清0、异步置1端的D触发器

数字电路EDA综合设计verilog笔记(持续更新)

  • 敏感信号:clk上升沿、set下降沿、reset下降沿;只要其中一个敏感信号有效,则进入begin开始执行;
  • 异步的体现:有多个边沿触发信号写在敏感信号列表;
  • 清零的优先级大于置1的优先级
  • S、R均代表低电平输入有效;(带⭕)

(3)带同步清0、同步置1端的D触发器
案例3:带同步清0、同步置1端的D触发器;

数字电路EDA综合设计verilog笔记(持续更新)

敏感信号列表只有一个值;else执行,将输入赋值给输出;

2、数据锁存器

数字电路EDA综合设计verilog笔记(持续更新)

案例1:电平敏感型的1位数据锁存器

数字电路EDA综合设计verilog笔记(持续更新)

module latch_1(q,d,clk);   //输入为d, clk,输出为q;
	output q;
	input d,clk;
	assign q=clk?d:q;
endmodule

仿真结果;

数字电路EDA综合设计verilog笔记(持续更新)

案例2:带置位和复位端的电平敏感型的1位数据锁存器

module latch_2(q,d,clk,set,reset);  //set置0端,reset置1端;
	output q;
	input d,clk,set,reset;
//reset为1则返回0给q,即清零;当reset=0并且set=1,则返回1给q; 
//当reset=0并且set=0并且clk=1,则将输入d返回给q;否则让q保持
	assign q=reset?0:(set?1:(clk?d:q));
endmodule

 仿真结果:

数字电路EDA综合设计verilog笔记(持续更新) 

案例3:用always块语句描述的电平敏感型8位数据锁存器;

数字电路EDA综合设计verilog笔记(持续更新)

module latch_8(qout,data,clk);
	output[7:0] qout;
	input[7:0] data;
	input clk;
	reg [7:0] qout;
	always @(clk or data)  //敏感信号列表一般是输入;只要clk或data有效就进入执行
	  begin
	    if(clk) qout=data; //若clk为假,则保持(无需写出代码)
	  end
endmodule

仿真结果:

 数字电路EDA综合设计verilog笔记(持续更新)

 文章来源地址https://www.toymoban.com/news/detail-493216.html

3、实用电路设计

到了这里,关于数字电路EDA综合设计verilog笔记(持续更新)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu18.04虚拟机EDA环境,支持模拟集成电路、数字集成电路、数模混合设计全流程,包含工艺库

    搭建了 Ubuntu18.04 虚拟机环境,工具包括但不限于: virtuoso IC618,innovus,genus,spectre,xceliummain,formality,synplify,hspice,icc2,primetime,sentaurus,siliconsmart,spyglass,starrc,design compiler,vcs,verdi,calibre,modelsim,tessent,ADS,GoldenGate 等。具体工具及版本见后文图片。虚拟机工

    2024年04月14日
    浏览(85)
  • 数字集成电路设计(四、Verilog HDL数字逻辑设计方法)(二)

    所有的是时序逻辑电路都可以拆成组合逻辑电路+存储 (关于组合逻辑电路的理解可以参考我数电的博客https://blog.csdn.net/y_u_yu_yu_/article/details/127592466) 可以分成两个部分,组合逻辑电路和存储电路。组合逻辑电路的输入一个是x信号一个是当前的状态,这两个信号决定了组合

    2024年02月06日
    浏览(55)
  • 数字集成电路设计(六、Verilog HDL高级程序设计举例)

    在我们的数电,集成电路设计里面,一定是层次化设计的 在一个手机芯片的一个部分,写的硬件描述语言的层次都能达到20几层,对于这样的设计,我i们就能想到采用底层的设计,中间层的设计和顶层的设计。对于小规模电路,极小规模电路,通常想的是先有模块然后去搭一

    2024年04月16日
    浏览(62)
  • 初学Verilog语言基础笔记整理(实例点灯代码分析)持续更新~

    实例:点灯学习 刚接触 Verilog ,作为一个硬件小白,只能尝试着去理解,文章未完…持续更新。 参考博客文章: Verilog语言入门学习(1) Verilog语法 【 Verilog 】一文带你了解 Verilog 基础语法 - 子墨祭的文章 - 知乎 关于Verilog中的几种赋值语句 这里抄点,那里扣点,整理了一

    2024年02月07日
    浏览(46)
  • [蔡觉平老师主讲] Verilog HDL数字集成电路设计原理与应用

    硬件描述语言,Hardware Description Language (HDL)。利用HDL,可以根据电路结构的特点,采用层次化的设计结构,将抽象的逻辑功能用电路的方式进行实现。之后通过EDA(电子设计自动化)工具,可以将HDL程序综合成网表,通过自动布线工具把网表转换为具体电路布线结构,用于

    2024年04月12日
    浏览(48)
  • 【数字IC手撕代码】Verilog无毛刺时钟切换电路|题目|原理|设计|仿真

    芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球 四社区 联合力荐 !近500篇 数字IC精品文章收录 ! 【数字IC精品文章收录】学习路线·基础知识·总线·脚本语言·芯片求职·EDA工具·低功耗设计Verilog·STA·设计·验证·FPGA·架构·AMBA·书籍 本系列旨在提

    2023年04月08日
    浏览(37)
  • 【数字IC精品文章收录】近500篇文章|学习路线|基础知识|接口|总线|脚本语言|芯片求职|安全|EDA|工具|低功耗设计|Verilog|低功耗|STA|设计|验证|FPGA|架构|AMBA|书籍|

    1.1 索引目的 本篇索引旨在 收藏CSDN全站中有关数字IC领域高价值文章 ,在数字芯片领域中,就算将架构,设计,验证,DFT,后端诸多岗位加在一起的数量,都不及软件类一个细分方向的岗位数量多,反映在社区氛围或是开源资料的丰富度而言,数字IC领域相较于软件/互联网领

    2024年02月03日
    浏览(120)
  • 【FPGA】EDA技术综合设计 交通灯设计

    1、设计原理 (1)对项目进行模块划分、对各模块的功能及其端口进行说明。 ①分频器部分 降低实验板固有频率,分出频率用来计数和数码管动态扫描。 ②状态机部分 0,1,2,3四个基础状态以及进一步完善后的检修和行人通行状态。 ③LED灯与数码管显示部分 LED灯模拟东西

    2024年02月12日
    浏览(48)
  • 【数字设计验证】System Verilog(sv)稍微进阶的笔记(一)

    接触硬件描述语言(HDL)也有几个年头了,由于之后research会偏向Architecture,做偏软件的活,算是走入一个新的阶段,因此想写一篇关于SV的笔记进行总结复习。选择SV的原因在于它目前是业界主流。SV是Verilog的继承扩展版本,类似于Cpp和C的关系,扩展内容可以分为Declaration Enh

    2024年02月07日
    浏览(43)
  • 集成电路设计开源EDA软件yosys详解1:工具安装

    yosys为一套开源的针对verilog的rtl综合框架,从本节开始将详细介绍工具的使用,并详细对源代码进行分析和讲解,首先介绍一下工具的安装和使用。yosys的git网址为https://github.com/YosysHQ/yosys。 下面将介绍如何在ubuntu环境下安装,使用的环境是ubuntu16.0。 安装Tabby CAD Suite工具,网

    2023年04月25日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包