FPGA设计的是数字逻辑,在开始用HDL设计之前,需要先了解一下基本的数字逻辑设计-- 一门抽象的艺术. 现实世界是一个模拟的世界,有很多模拟量,比如温度,声音······都是模拟信号,通过对模拟信号进行约束,我们就会抽象出来高电平和低电平,也就是0和1,用来构建整个数字逻辑世界,这个约束就是电平规则约束,比如常见的有以下几种: 电平约束 VDD/VCC 0 1 CMOS 3~8V 0~0.3VDD 0.7~1VDD TTL 5V±5% 0~0.7 2.4~5 LVCMOS 3.3 0~0.9…
目录 第一章 数字逻辑基础 1.1数制与码制★★★ 数制 码制 1.2基本及常用的逻辑运算★★ 1.2逻辑函数表示方法★★ 1.3逻辑函数的化简★★★ 1.4常用74HC系列门电路芯片★ 第二章 组合逻辑电路 2.1组合逻辑电路的分析方法★★★ 2.2常用的组合逻辑电路(多考察各种器的输入输出端设计) 2.3组合逻辑电路的设计方法★★★ 2.4组合逻辑电路的时序分析★★★ 第三章 时序逻辑电路 3.1时序电路逻辑功能的表示方法★★ 3.2锁存器与触发器 3.3时序电路的分析方法★★★ 3.4常用…
00 一些前言 数字逻辑是计算机组成与体系结构的前导课,但是在两者的衔接之间并没有那么流畅,比如对面向硬件电路的设计思路缺乏.这篇总结是在数字逻辑和计组体系结构的衔接阶段进行的. 虽然这篇文是两门课的交接,也算是两个系列的一种过渡,但不代表我的数字逻辑部分就已经完成,这个系列后续会继续更新FPGA的小项目记录,以及阅读笔记等等. 本文主要是对于这个视频的笔记,我觉得很有用,加之此前我的实验报告由于课程关系不好直接往网上发,所以在这里整理一部分代码留作黑箱子.后续还会根据课程老师的要求对本文进行补…
近期阅读Verilog HDL高级数字设计(第二版)中,遇到了串行比特流BCD码转余3码转换器的设计,比较独特的是: (1)该转换器的输入为1位串行比特流,输出也为1位串行比特流. BCD码与余三码的转换关系如下: 8421BCD码=余3码+0011 表1 8421BCD码-余3码转换关系(4位无符号数) 10进制 8421BCD码 余3码 10进制 8421BCD码 余3码 0 0000 0011 8 1000 1011 1 0001 0100 9 1001 1100 2 0010 0101…
来源:数字逻辑与Verilog设计实验课讲解,个人做的笔记与整理. 00 规范的重要性 良好的编程风格有利于减少消耗的硬件资源,提高设计的工作频率 . 提高系统的可移植性和可维护性. 程序的格式化能体现程序员的基本素质和整个团队的风貌. 01 命名规则 有C语言基础的这部分可以简单略过,看看即可.无基础的可以跳过,有一定编程经验后再来总结提高. 01-00 命名字符集 用于命名的字符集为:字母A-Z和a-z, 数字0-9以及下划线组成. 例如: 1 data_bus 2 data_width 3…
原文地址点击这里: LVDS(Low-Voltage Differential Signaling ,低电压差分信号)是美国国家半导体(National Semiconductor, NS,现TI)于1994年提出的一种信号传输模式的电平标准,它采用极低的电压摆幅高速差动传输数据,可以实现点对点或一点对多点的连接,具有低功耗.低误码率.低串扰和低辐射等优点,已经被广泛应用于串行高速数据通讯场合当中. LVDS技术规范有两个标准,即TIA(电讯工业联盟)/EIA(电子工业联盟)的ANSI/TIA/…
本文是对实验课上讲解的"面向硬件电路的设计思维"的总结,结合数字逻辑课本,进行提炼和整理. 主要来源是课件与本人整理,部分参考了网络大佬的博客. 本文主要介绍不同于之前软件设计思维的硬件设计思维,从非阻塞赋值.并行.面积速度转换.同步电路设计原则.模块划分设计.if-case对比等方面进行整理. 内容太多,我整理了好几天,在浩如烟海的网络前有点无力,想想是自己的实践不够,有一些问题没有亲身体验:也不能一蹴而就,得久久为功.所以这篇文章就当作一个Verilog学习与FPGA设计的总述性文…
问题起因:最初学习数字逻辑设计理论的时候还没有注意到,在实验课上写代码的时候发现了一个问题: 对于源码模块的变量定义,何时定义为reg.何时定义为wire?它们各自又有什么特性和物理意义? 1. wire wire是网络数据类型的关键字. 网络数据类型表示结构实体(例如门)之间的物理连接(线).网络类型的变量不能储存值. 语言特性 wire型数据常用来表示用于 结构化定义 assign为代表的连续赋值描述 也叫数据流描述方式.RTL级描述方式 指定的组合逻辑信号. 程序模块中,输入输出信号类型缺…
基于线性序列机的TLC5620型DAC驱动设计 目录 TLC5620型DAC芯片概述:    2 TLC5620型DAC芯片引脚说明:    2 TLC5620型DAC芯片详细介绍:    3 TLC 5620型DAC接口时序:    4 TLC5620串行数字接口的关键时序参数:    5 芯航线ADDA模块TLC5620电路介绍:    6 线性序列机设计思想与TLC5620接口时序设计:    7 视频教程中的工程源码:    10 视频教程中的测试文件源码:    13 板级验证方法: …
我们都知道,求一个数被另一个数整除的余数,可以用求余运算符”%“,但是,如果不允许使用求余运算符,又该怎么办呢?下面介绍一种方法,是通过位运算来求余,但是注意:该方法只对除数是2的N次方幂时才有效. 在移位运算中我们可知,计算机中的数据都是0和1的序列,当我们把某个数字左移一位,该数字会扩大为原来的2倍:而将其右移一位时,该数字就会缩小为原来的1/2,即相当于对该数字做了一次被2整除的运算. 举例说明: 11的二进制是1011,如果右移一位的话,将变成0101,也就是5. 现在我们考虑11除以8…