本文从本人的163博客搬迁至此. MFM是改进型频率调制的缩写,其本质是一种非归零码,是用于磁介质硬盘存储的一种调制方式.调制规则有两句话,即两个翻转条件: 1.为1的码元在每个码元的正中进行一次翻转:为0的码元不翻转. 2.对连续两个为0的码元,则在第一个为0的码元结束时翻转一次:单个的0码元不翻转. 设计过程: 若码元的同步时钟为CLK,不失一般性,假设CLK的上升沿开始产生新的码元,下降沿为该码元的正中.则MFM调制信号有可能在时钟的上升沿,也有可能在时钟的下降沿发生电平翻转.由于一个触发…
一个有趣的小例子,带你入门协程模块-asyncio 上篇文章写了关于yield from的用法,简单的了解异步模式,[https://www.cnblogs.com/c-x-a/p/10106031.html]这次让我们通过一个有趣例子带大家了解asyncio基本使用. 目标效果图 基本原理 1.通过不停的依次顺序迭代"|/-"中的一个字符. 2.每次输出前使用退格符模拟一个动态效果.所谓的退格符就是删除上一个字符串,并在原来的位置输出新的字符串. 代码实现: 1 import ite…
用always@(posedge clk)描述        时序逻辑电路的基础——计数器(在每个时钟的上升沿递增1) 例1.四位计数器(同步使能.异步复位) // Module Name: counter_4bit // Description: 4bit异步复位同步使能二进制计数器 module counter_4bit( input clk, //系统时钟信号 input rst, //系统复位按键 input en, //计数器使能端 :]q //计数器计数值输出 ); //同步使能,异…
芯航线--普利斯队长精心奉献 实验目的:以计数器为例学会简单的时序逻辑电路设计 实验平台:芯航线FPGA核心板 实验原理: 时序逻辑电路是指电路任何时刻的稳态输出不仅取决于当前的输入,还与前一时刻输入形成的状态有关.这跟组合逻辑电路相反,组合逻辑的输出只会跟目前的输入成一种函数关系.换句话说,时序逻辑拥有储存元件(内存)来存储信息,而组合逻辑则没有. 计数器的核心元件是触发器,基本功能是对脉冲进行计数,其所能记忆脉冲最大的数目称为该计数器的模/值,常用在分频.定时等处.计数器的种类很多,按照计数…
引用自夏宇闻教授 1.同步时序逻辑: 是指表示状态的寄存器组的值只能在唯一确定的触发条件发生改变. 只能由时钟的正跳变沿或者负跳变沿触发的状态机就是一例,always@(posedge clk). 1.1同步时序逻辑的优点: 同步时序逻辑比异步时序逻辑稳定简单好多,由此我们有一个规定:用verilog来设计可综合的状态机必须使用同步时序逻辑. 2.异步时序逻辑: 是指触发条件有多个控制因素组成,任何一个因素的跳变都可以引起触发.寄存器组的时钟输入端不是都连接在同一个时钟信号上. 例如用一个触发器…
芯航线——普利斯队长精心奉献 课程目标:    1. 再次熟悉Quartus II工程的建立以及完整的FPGA开发流程 2. 以译码器为例学会简单组合逻辑电路设计 实验平台:无 实验原理: 组合逻辑,其任一时刻的稳态输出,仅仅与该时刻的输入变量的取值有关,而与该时刻以前的输入变量取值无关.这种电路跟时序逻辑电路相反,时序逻辑电路的输出结果是依照目前的输入和先前的输入有关系.从电路结构分析,组合电路由各种逻辑门组成,网络中无记忆元件,也无反馈线.与组合逻辑对应的就是时序逻辑,时序逻辑将在下一讲详细…
竞争(Race):一个门的输入有两个及以上的变量发生变化时,由于各个输入的组合路径的延时不同,使得在门级输入的状态改变非同时. 冒险或险象(Hazard):竞争的结果,如毛刺Glitch. 相邻信号间的串扰也可能产生毛刺Glitch. 组合逻辑的冒险是过渡性的,它不会使得稳态值偏离正常值.根据严格的metal delay和gate delay可以计算出Glitch的出现时间和宽度. 组合逻辑很容易带来毛刺,当信号作用在FF的reset,clear,clock,gate端时,会造成严重的后果. 措…
讲到这篇时,组合逻辑就告一段落了,下面是一些总结: 描述组合逻辑时,always 语句中的敏感信号列表中需要列出全部的可能影响输出的变量 描述组合逻辑时,always 语句中的赋值总是使用阻塞赋值符号 = 组合逻辑是描述输入和输出关系的功能块,由于延时的原因,输出可能会有毛刺,为避免避免毛刺需要引入冗余逻辑. if..else case 语句只能用在 always 语句中,而且分支条件必须健全,否则会引入不必要的锁存器. 新的 SystemVerilog 语言中强化了 always 的功能:Sy…
引言 时序逻辑对于数字电路设计十分重要,本文针对数字电路中的时序逻辑部分进行了系统的回顾. 存储器件 由于时序逻辑的输出不但受当前输入影响,还受之前的输入的影响,所以需要有存储单元对以前的输入进行存储. SR锁存器(set-reset)---电平敏感器件 实际在Verilog中,很多情况应该避免使用锁存器,也应该避免无意中被综合成锁存器. NOR门交叉耦合的锁存器,一方面输入11时,输出逻辑不是互反的:另一方面逻辑从11->00引发竞争,会导致输出无法预测所以避免11: NAND门交叉耦合的苏存…
前言 在很久之前,我们项目有一个动画功能,功能本身很简单,便是典型的右进左出,并且带动画功能 以当时来说,虽然很简单,但是受限于框架本身的难度,就直接使用了CSS3的方式完成了功能 当时主要使用transform与animation实现功能,并且用了一个settimeout执行回调,然后此事便不了了之了 但是出来混总是要还的,这不,最近相似的东西又提了出来,我们当然可以将原来的那套东西拿来用,但是看着那个settimeout总是不是滋味,因为这样捕捉回调的效果以及可能引起的BUG大家都懂,于是就…