组合逻辑电路:任意时刻电路输出的逻辑状态仅仅取决于当时输入的逻辑状态,而与电路过去的工作状态无关。
时序逻辑电路:任意时刻电路输出的逻辑状态不仅取决于当时输入的逻辑状态,而与电路过去的工作状态有关。
在电路的结构上,时序逻辑电路肯定包含有存储电路,而且输出一定与存储电路的状态有关。
常用逻辑电平:12V,5V,3.3V;TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的。CMOS输出接到TTL是可以直接互连。TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V。
CMOS的高低电平分别为:Vih>=0.7VDD,Vil<=0.3VDD;Voh>=0.9VDD,Vol<=0.1VDD。
TTL的为:Vih>=2.0v,Vil<=0.8v;Voh>=2.4v,Vol<=0.4v。
用CMOS可直接驱动TTL。
TTL加上拉后可驱动CMOS。
描述一个时序逻辑电路时,主要由驱动方程、状态方程(由驱动方程代入时序器件的特性方程得到)、输出方程这三大方程进行描述。
详细过程参考《数字电子技术基本教程》P181—gary计数器的设计
在设计时序逻辑电路时可以采用以下流程:
同步逻辑:时钟之间有固定的因果关系;
异步逻辑:时钟之间没有固定的因果关系,电路中的触发器的状态不仅仅由时钟决定;
同步电路:电路中所有触发器的时钟输入端都接至统一的时钟信号(并且同一触发沿触发),并且所有触发器的输出与统一的时钟有效沿下保持同步输出。
异步电路:电路中所有触发器的时钟没有统一的时钟信号,所有触发器的输出不与统一的时钟有效沿下保持同步输出。
同步设计的优点:
异步设计的缺点:
同步复位:复位信号与时钟信号同时有效时进行复位动作;
优点:
缺点:
异步复位:只要复位信号有效就进行复位动作,与时钟信号无关;
优点:
缺点:
建议采用的复位电路:分布式异步复位同步方法,将异步复位同步电路放在每个模块的复位信号输入端。
复位毛刺的消除:采用等价与门,对复位信号和经过延迟的复位信号进行相与操作,完成毛刺的滤除。
竞争与冒险:组合电路中由于信号到某一电路节点的时间不一致或者输入信号的电平往相反的方向变化叫竞争,由于竞争现像导致毛刺的产生称为冒险。
竞争不一定导致冒险:当组合逻辑器件采用的工艺比较好,逻辑器件的速度快,由于竞争导致的毛刺现像很快就被消除掉。
由于时序逻辑电路主要由两部分组成:组合电路和存储电路,所以时序逻辑电路的竞争冒险也分为两种:一种为组合逻辑电路的竞争冒险引起,其由于竞争冒险产生的输出脉冲噪声不仅影响整个电路的输出,还影响存储电路产生误动作;另一种由存储电路的触发器的输入信号和时钟信号在状态变化时配合不当(不满足建立时间和保持时间)引起,可能引起电路产生误动作。
亚稳态:触发器无法在某个规定的时间内达到一个确认的状态;
亚稳态的消除:
参考《Verilog数字系统设计教程》
逻辑模式:wire线型,由此在某一个模块中进行赋值操作,需要综合器进行逻辑模式的化简。如b=a;b的值在赋值语句执行完成之后就立刻改变。
赋值时先计算右边部分的值,这时不允许其他的赋值语句的干扰,即其他赋值语句不进行赋值操作(区别于非阻塞的地方),只有完成将右边的值赋到左边,才开始下一条的赋值语句的执行。
逻辑模式:reg寄存器型,由此在某一个模块中进行赋值操作,采用寄存器对赋值进行寄存。
赋值时先计算右边部分的值,这时允许其他的赋值语句的同时进行(区别于非阻塞的地方),所以整个模块的所有赋值语句同时计算右边的值,然后又同时将计算出的值赋到左边。
所以在某一模块中,上面语句所赋的值不能立刻就为下面的语句所使用。模块结束后,才完成赋值操作,所赋的值是上一次赋值所得到的。
Gray码:任何两个相邻的代码只有一位的状态不同。
优点:
缺点:
(1)占用较多的组合逻辑;
独热码:有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制。
优点:one-hot 编码的最大优势在于状态比较时仅仅需要比较一个bit,一定程度上从而简化了比较逻辑,减少了毛刺产生的概率。
缺点:占用较多的触发器(可以利用FPGA内部触发器资源丰富的特点);
二进制码:采用二进制格式进行编码的码。
优点:
(1)采用组合逻辑进行设计,节省触发器资源;
缺点:
Johnson counter也叫扭环计数器,是把n位移位寄存器的串行(高位bit)输出取反,反馈到串行的输入端(低位bit),构成具有2n种状态的计数器,相邻位只有1bit的不同,可以用于实现跨时域的编码操作,避免亚稳态的问题,速度快,缺点就是占用触发器。
000à001à011à111à110à100à000à……..
状态机一般分为三种类型:
Moore型状态机的输出信号是直接由当前状态寄存器译码得到,相比mealy要多等一个时钟周期,而Mealy型状态机则是以现时的输入信号结合即将变成次态的现态,编码成输出信号。
锁存器:电平敏感器件,电平触发,组合逻辑器件;
触发器:边沿敏感器件,边沿触发,时序逻辑器件;
寄存器:存储二值信息代码,无论使用电平触发的触发器还是使用边沿触发的触发器都可以组成寄存器。
PLA(可编程逻辑阵列)、
PAL(可编程阵列逻辑)、
GAL(通用逻辑阵列)、
CPLD(复杂可编程逻辑器件)、
FPGA(现场可编程逻辑器件);
PLD优点:配置灵活,集成度高可满足一般的数字系统设计,开发周期短,设计成本低;
缺点:相比ASIC体积大,功耗高,成本高;
ASIC优点:批量生产时相比PLD成本低,功耗低,可靠性高,性能高,成本低;
缺点:功能固定,后期无法修改,灵活性差,开发周期长,设计成本高;
片上系统,将微处理器、模拟IP核、数字IP核和存储器集成在单一芯片上。
关键技术:总线架构技术、IP核可复用技术、软硬件协同设计技术,SoC验证技术、可测性技术、低功耗技术等。
SRAM,FALSH, MEMORY,DRAM,SSRAM及SDRAM的区别?
SRAM:静态随机存储器,存取速度快,但容量小,掉电后数据会丢失,不像DRAM 需要不停的REFRESH,制造成本较高,集成度低,通常用来作为快取(CACHE) 记忆体使用。
FLASH:闪存,存取速度慢,容量大,掉电后数据不会丢失。
NAND FLASH用于数据存储,广泛用于多媒体移动设备;
NOR FLASH用于程序存储。
DRAM:动态随机存储器,必须不断的重新的加强(REFRESHED) 电位差量,否则电位差将降低至无法有足够的能量表现每一个记忆单位处于何种状态。价格比SRAM便宜,但访问速度较慢,耗电量较大,常用作计算机的内存使用,集成度高。
SSRAM:即同步静态随机存取存储器。对于SSRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。
SDRAM:即同步动态随机存取存储器。
1、算法设计。设计和优化芯片钟所使用的算法。这一阶段一般使用高级编程语言(如C/C++),利用算法级建模和仿真工具(如MATLAB,SPW)进行浮点和定点的仿真,进而对算法进行评估和优化。
3、RTL设计(代码输入)。使用HDL语言完成对设计实体的RTL级描述。这一阶段使用VHDL和Verilog HDL语言的输入工具编写代码。
5、综合。从RTL代码生成描述实际电路的门级网表文件。
7、布局布线。后端设计对综合产生的门级网表进行布局规划(Floorplanning)、布局(Placement)、布线(Routing),生成生产用的版图。
9、版图后验证。根据后端设计后取得的新的延时信息,再次验证设计是否能够实现所有的功能和性能指标。
11、 芯片测试。对制造好的芯片进行测试,检测生产中产生的缺陷和问题。
原文:https://www.cnblogs.com/davebryant/p/10133239.html