
数字ic
文章平均质量分 62
ddd
闲庭信步sss
分享自己学习ic的知识
展开
-
桶形移位器
桶型移位电路原创 2022-06-07 16:35:14 · 14306 阅读 · 4 评论 -
乘法器verilog
乘法器的几种实现方法原创 2022-06-06 22:29:29 · 4370 阅读 · 0 评论 -
流水线技术
ic设计中的流水线技术原创 2022-06-06 09:16:54 · 1707 阅读 · 0 评论 -
除法器的Verilog RTL实现
除法运算过程和十进制除法一样,其实除法是一个移位并比较大小的过程下图为二进制的除法运算(27/5)除法运算过程如下:1.取被除数的高几位数据,位宽和除数相同(上述为3bit数据)。2.将被除数高位数据与除数作比较,如果前者不小于后者,则可得到对应位的商为1,两者做差得到第一步的余数;否则得到对应的商为0,将前者直接作为余数。3.将上一步中的余数与被除数剩余最高位1bit数据拼接成新的数据,然后再和除数做比较,可以得到新的商和余数。4.重复过程3,直到被除数最低位数据也参与计算。verilo原创 2022-05-26 10:36:28 · 3956 阅读 · 3 评论 -
静态时序分析与动态时序分析优缺点
静态时序分析静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。优点:它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。缺点:但是它只能用于分析同步电路,用于时序性能的分析,而且无法验证电路的功能原创 2022-05-24 10:21:57 · 4733 阅读 · 0 评论 -
PWM呼吸灯verilog实现
PWM脉冲调制PWM——脉宽调制信号(Pulse Width Modulation),它利用微处理器的数字输出来实现,是对模拟电路控制的一种非常有效的技术,广泛应用于测量、通信、功率控制与变化等许多领域。呼吸灯:采用pwm的方式,在固定的频率下,采用占空比的方式来实现LED亮度的变化。占空比为0,LED灯不亮,占空比为100%,则LED灯最亮。所以将占空比从0到100%,再从100%到0不断变化,就可以实现LED灯实现特效呼吸。注意这里有几个频率:1.呼吸周期:即在这个呼吸周期中实现变亮与变暗,比如原创 2022-05-23 21:32:53 · 2769 阅读 · 0 评论 -
按键消抖实现(verilog)
按键消抖按键是FPGA实验工程中常见的电子元器件,通常用作系统复位信号或者控制。外部信号的输入。按键消抖主要针对的是机械弹性开关(按下去,一旦松开就会弹上去),当机械触点断开、闭合时,由于机械触点的弹性作用,按键开关在闭合时不会立刻稳定的接通,在断开时也不会一下子断开。按键在闭合和断开的瞬间会有一连串的抖动,为了保证系统能够正确识别按键开关,必须进行消抖处理。按键消抖分为硬件消抖和软件消抖,硬件消抖会使用额外的器件,占用空间,增加布局布线复杂度。这里讲的是软件消抖,适用于按键比较多的情况。verilo原创 2022-05-23 19:57:17 · 3314 阅读 · 0 评论 -
CRC校验码产生器设计(verilog)
CRC校验码概述冗余编码是在二进制通信系统中常用的差错检测方法,它是通过在原始数据后加冗余校验码来检测差错,冗余位越多,检测出传输错误的几率越大。循环冗余编码(Cyclic Redundancy Codes,简称CRC)是一种常见的冗余编码,CRC校验的基本原理是:CRC可由一称为生成多项式的常数去除该数据流的二进制数值而得,商数被放弃,余数作为冗余编码追加到数据流尾,产生新的数据流进行发送。在接收端,新的数据流被同一常数去除,检查余数是否为零。如果余数为零,就认为传输正确,否则就认为传输中已发生差错,该原创 2022-05-23 10:50:12 · 2602 阅读 · 0 评论 -
跨时钟域握手信号方法
握手信号方法使用握手信号是最古老的在两个不同域之间传输数据的方式。下图是由两个时钟域分割成的两个单独的系统使用握手信号”xack"和“yreq",“系统X”将数据发送给“系统Y”。下面是使用握手信号传输数据的过程。1)发送器“系统X”将数据放到数据总线上并发出“xreq”(请求)信号,表示有效数据已经发到接收器”系统Y"的数据总线上。2)把”xreq"信号同步到接收器的时钟域“yclk"上。3)接收器在识别”xreq"同步的信号“yreq2"后,锁存数据总线上的信号。4)接收器发出确认信号原创 2022-05-18 12:33:24 · 2866 阅读 · 0 评论 -
电路设计中控制时钟偏移方法
时钟偏移整个芯片中时钟信号到达时间的差异称为时钟偏移。时序必须满足寄存器建立和保持时间的要求是基本设计原则。数据传播延迟和时钟偏移都用于与之相关的计算。对于同一时钟边沿偏移较大的寄存器,如果顺序相邻,那么在向其提供时钟时,就会有违背时序的潜在风险,甚至使功能失效。这是ASIC设计失败最主要的原因。下图为两个顺序相邻触发器时钟偏移的例子。短路径问题时钟偏移中的短路径问题与触发器的保持时间违背很相似。在两个相邻触发器之间的数据传播延迟比时钟偏移还短时,就会出现该问题。下图的电路图和时序图可以说明短原创 2022-05-16 20:45:21 · 2145 阅读 · 0 评论 -
锁存器的缺点
为什么要避免使用锁存器锁存器会为设计增加各种各样的问题。虽然锁存器是与寄存器相似的存储器件,但是他们有根本的区别。1.锁存器是连同模式的,即在数据输入和输出之间存在直接通路。输入端的毛刺能传递到输出端。2.不利于时序分析。静态时序分析器通常会做出与锁存器透明有关的错误假设,并要么发现通过数据输入端口的伪路劲丢失。锁存器本身的时序也是模糊的,例如,在分析含D锁存器的电路时,工具无法确定你是想在时钟前沿还是在时钟后沿将数据传输到输出端。大多数情况下,只有原始设计者才知道设计的全部意图,这就意味着其他设计者原创 2022-05-12 11:24:30 · 2669 阅读 · 0 评论 -
亚稳态测试电路
亚稳态测试电路下图所描述的测试电路可以用来确定触发器的亚稳态特征。下图给了一个异步输入“async_in”的触发器“FFA”,再由时钟“clk”的上升沿触发。下图中所示的触发器“FFB”和“FFC”都在时钟下降沿触发,这样做是为了捕捉FFA的亚稳态事件。当两个互补的信号分别传递到“FFB”和“FFC”的输入时,无论“FFA”什么时候出现亚稳态事件,同或门的输出都会变成高电平。在触发器"FFD"输出端捕捉到高电平就表明已经检测到亚稳态事件。测试电路中的时序如下参考自 《硬件架构的艺术》...原创 2022-05-12 10:33:39 · 1154 阅读 · 0 评论 -
半加器、全加器、行波进位加法器、超前进位加法器
半加器两个1bit数据相加,不包含进位。全加器包含低位来的进位,相当于三个1bit数据相加。至于为啥或和异或一样的解释:因为AB为00,01,10时异或和或结果一样,但是11时或为1,异或为0,但是只影响到了后半部分的结果,AB的结果为1,最后的结果为1都一样,所以或和异或都行。行波进位加法器以4bit的行波进位加法器为例,需要使用4个1bit加法器实现,如下图所示。在进行加法运算时,首先准备好的是1号全加器的3个input。而2、3、4号全加器的Cin全部来自前一个全加器的Cout,只有等原创 2022-05-08 11:31:25 · 6065 阅读 · 1 评论 -
数字电路的几种基本触发器
触发器(Flip-Flop)是一种具有记忆功能,可以存储二进制信息的双稳态电路,他是组成时序逻辑电路的基本单元,也是最基本的时序电路。基本RS触发器钟控RS触发器钟控D触发器钟控JK触发器钟控T触发器主从Jk触发器边沿触发器...原创 2022-05-07 18:25:45 · 2817 阅读 · 0 评论 -
数字芯片设计中常见的三个握手协议
本篇文章转载自一道Nvidia的面试题Valid-Ready HandshakeValid-Ready是非常常见的握手协议,我们熟悉的AXI总线的核心就是Valid-Ready协议。Valid-Ready协议的时序图如下图Sender 来驱动valid信号和payload也就是data信号,Receiver接受valid和data,返回给Sender ready信号。当Sender有数据要传输的时候,Sender就把valid拉高,并且保持住,valid为高期间要传输的data必须保持稳定,等到Re转载 2022-05-07 10:10:52 · 7527 阅读 · 2 评论 -
AMBA之AHB总线
转载自漫谈AMBA总线-AHBAHB引言在上篇文章文章我们已经分析了AMBA总线系列中的APB总线的优点和缺点。总结得出:缺点1: APB支持且仅支持一个主机缺点2: APB两个周期才能完成一个数据的传输,数据传输效率不高。所以针对以上的缺点,ARM 开发了更高级的总线AHB,下文将详述AHB基于APB的改进点,改进策略,以及AHB的协议运行机制。背景总线碰撞(Bus Collision ):在AHB总线里面,ARM在设计的时候就支持连接多个主机进行操作。当两个或者两个以上的主机同时发起数据转载 2022-05-05 09:58:09 · 2943 阅读 · 0 评论 -
perl语言相关
读取文件文件以读取方式打开例子:读取in.txt文件,如果读取失败,则打印“con not open file1",并结束。open(file1,"< in.txt") or die "con not open file1";格式 < 表示读取,>表示写入,>>表示追加open(文件句柄,"< 文件名.txt") or die "con not open file1";文件以写入方式打开open(file2,"> in.txt") or die "原创 2022-04-27 17:03:37 · 984 阅读 · 0 评论 -
verilog独热码检测
独热码介绍独热码是一种二进制编码方式,它的特点是,用来编码这个数的N位bit中,有且只有一位是1,其余位全部为0。因为只有1位是1,所以叫做one-hot (对应的,还有一种编码方式是只有1位是0,其余位都是1,叫做one-cold)状态机中使用独热码的好处利用one-hot来编码状态机,好处就是一个flop就表示一个状态,用来判断状态机在哪一个状态的时候就只需要看第几个flop为1即可,而不需要像binary编码那样是所有flop在一起参与比较。这样可以省下一点点逻辑的比较电路的延时,代价显而易见,转载 2022-04-26 21:08:57 · 6349 阅读 · 0 评论 -
各种计数器
本篇文章参考自常见六种计数器用D触发器搭建计数器要求实现一个4进制的计数器,但要用D触发器来搭建,这显然不会像写Verilog实现一样容易,所以我们要用数字电路中的传统方法来设计。4进制计数器必须有4个不同的状态,所以需要两个D触发器组成这个电路。电路的状态表如下所示:通过状态表可以画出卡诺图,对其化简可得次态输出。电路次态的卡诺图如下所示:通过卡诺图化简可得Q0* = Q0’Q1* = Q1’Q0+Q1Q0*;C = Q1Q0;因此RTL代码如下01 module test(0原创 2022-04-25 21:42:10 · 8854 阅读 · 0 评论 -
序列产生器
序列信号产生器顾名思义,就是周期性的产生某段序列信号,这里介绍几种方法。**第一种方法,**最容易想到的方法,设置一个长度和序列长度一样长的信号,在复位时,赋值为该段序列,接下来循环移位即可。例 :设计一个序列信号发生器电路,能在CLK信号作用下周期性输出“1010110111”的序列信号。module sequence_generator( input clk , input rst_n , output out_sequence //可以根据题目要求加输出原创 2022-04-25 21:25:12 · 4743 阅读 · 2 评论 -
verilog奇偶、小数分频
转载自时钟分频电路时钟分频(clock divide)每个时钟就是一个在0和1之间周期变化的信号。那么我们在不同的场合可能需要不同的频率的时钟,很多时候我们可以在一个已有时钟的基础上对它进行分频操作,从而得出一个另外更低频率的时钟。我们把这样的电路叫做时钟分频电路,即clock divider。偶数分频相信这个大家都知道该怎么做,我们把时序图画出来,即使你之前完全没有听说过clock divider,看着时序图也可以很快想出来。2分频的另外一个意思是,在clk_out的1个周期内,clk_in经过转载 2022-04-25 15:28:17 · 3237 阅读 · 1 评论 -
关于“1”的verilig相关手撕代码
从高位开始找出第一个1出现的位置第一种方法设计思路:因为从高位开始找出第一个1出现的位置,我们可以考虑新建立一个与之等长度的信号,与之想与后产生独热码,该独热码为1的位置即为需要找的位置。现在主要问题是如何产生这样的一个新信号。大致思路如图所示,从低位找出第一个1的位置同理。rtl代码:module find_1( input [7:0] data, output [7:0] sigal ); wire [7:0] pre; assign pre[7]原创 2022-04-24 20:52:37 · 2209 阅读 · 0 评论 -
verilog仲裁器设计
本篇文章转载自仲裁器设计仲裁器介绍仲裁器Arbiter是数字设计中非常常见的模块,应用也非常广泛。定义就是当有两个或两个以上的模块需要占用同一个资源的时候,我们需要由仲裁器arbiter来决定哪一个模块来占有这个资源。一般来说,提出占有资源的模块要产生一个请求(request),所有的请求送给仲裁器之后,仲裁器要返回一个许可(grant)。仲裁器很重要的一点是只能让一个模块得到许可,因为这个资源某一时刻只能由一个模块占用。在数字电路中,总线仲裁是一个常见的例子,比如多个master要占用总线来去写数据转载 2022-04-24 17:39:04 · 11470 阅读 · 5 评论 -
MUX实现某些电路的搭建
本篇文章转自MUX变身大法2选1MUX介绍S为MUX的选择端,如果S为0,则选择A,MUX输出的Y=A,如果S为1,则选择B,MUX输出Y=B。在Verilog语言中,MUX的实现可以利用?:运算符,非常直观。在下面的示例中,我们用大写S, A, B分别表示MUX的三个输入pin,下面变换的实例的门输入信号都用小写字母来区分。assign Y = S ? B : A;mux搭建反相器反相器Inverter只有一个输入a,输入是0,输出为1;输入为1,输出则为0。思路是将MUX的S作为输入a,那转载 2022-04-22 15:53:13 · 11862 阅读 · 3 评论 -
无毛刺时钟切换(glitch free clock switching)
时钟切换电路的意义为什么要做clock switching,在现代的SoC设计中,很多时候我们设计的模块并不是要跑在一个固定的频率下,而是根据性能和功耗的要求要跑在不同的时钟频率下,当需要降低功耗以及不需要很高性能的时候,我们可以降低时钟频率,将驱动这个模块的时钟换成一个慢速时钟。通常时钟控制模块会产生不同频率的时钟,可能来自不同的PLL,也可能是来自不同的时钟分频器然后有选择逻辑来选择让哪一个时钟驱动电路。几种时钟切换电路mux时钟切换当SEL为0的时候,CLK1被上面的AND门给block住转载 2022-04-22 14:51:07 · 6718 阅读 · 3 评论 -
clock gating
本文转载自Clock Gating 技术解析 (一)设计动机在现代大规模的芯片中,通常有几十甚至几百个系统时钟驱动着数千万计的逻辑门。时钟信号不停翻转,有的时钟信号频率高达GHz,这些时钟信号在逻辑门或是寄存器的时钟端翻转时需要对门电路的电容进行充放电,从而消耗了大量的动态功耗。而在实际应用中,一个寄存器的值绝大多数时候是保持不变的,一个显而易见的方法是在不需要改变寄存器值的这一段时间内将时钟停住,避免时钟翻转对电容的充放电,从而实现降低功耗的目的。利用一个enable信号对时钟翻转进行控制的技术被称为转载 2022-04-22 11:05:51 · 4161 阅读 · 0 评论 -
APB总线
转载自APB总线APB总线概述在APB总线里面,数据的传输只能由主机(master)发起,其他部分响应主机操作。在APB总线里面,数据的回复由从机(slave)完成,从机只能完成主机发起的操作,自己不能发起操作然后完成操作。在APB总线里面,有且只有一个主机可以连接到APB总线接口,其他的只能连接从机(外设),所以APB总线只支持单主机模式。在APB总线里面,主机先发起要访问的外设地址,外设根据要求返回数据,主机收到数据,这一个完整的流程被称为APB总线协议。总线是被总线上所有的部件所共享的一转载 2022-04-21 14:30:09 · 5990 阅读 · 0 评论 -
AMBA总线相关
AMBA总线协议是一套由ARM提供的互连规范,该规范标准化了各种IP之间的芯片通信机制。这些设计通常有一个或多个微处理器以及集成其他一些组件——内部存储器或外部存储器桥、DSP、DMA、加速器和各种其他外围设备,如USB、UART、PCIE、I2C等。AMBA协议的主要动机是用一种标准和高效的方法来重用这些跨多个设计的IP。1、APB:高级外围设备总线(APB)用于连接低带宽的外围设备。它是一个简单的非流水线协议。读写操作共享同一组信号,不支持burst数据传输。最新的规范(APB2.0)可以在ARM网原创 2022-04-21 14:28:45 · 835 阅读 · 0 评论 -
时序优化和面积优化
本文转自系统设计优化系统设计优化主要有两方面:资源优化速度优化无论是在ASIC还是FPGA中,硬件设计资源即面积(Area)是一个重要的技术指标。资源优化意义:Ø可使用规模更小的可编程器件,降低系统成本,提高性价比。Ø当耗用资源过多时会严重影响优化的实现。Ø为后续技术升级留下更多的可编程资源。Ø资源耗用太多会使器件功耗显著上升。1.资源优化1.1 资源共享通过一个例子进行说明。现需要实现功能:通过选择信号s来选择执行A0B还是A1B的。描述方式1:对两个乘法电路进行选择RTL结转载 2022-04-20 16:00:49 · 3183 阅读 · 0 评论 -
同步电路与异步电路
同步电路和异步电路的区别在于电路触发是否与驱动时钟同步,从行为上讲,就是所有电路是否在同一时钟沿下同步地处理数据。不同时钟源的电路就是异步电路。同步复位和异步复位电路是同步电路和异步电路中两个典型的逻辑单元。 在同步复位电路中,当复位信号有效时,必须要等到时钟沿有效时,才能处理复位信号相关逻辑行为(同一时钟沿下同步处理数据) ;而在异步复位电路中,当复位信号有效时,立即处理复位信号相关逻辑行为。数字逻辑设计的首要原则就是坚持做同步设计。 在数字逻辑中坚持同步设计是因为同步设计对延迟和 layo原创 2022-04-20 15:46:01 · 5911 阅读 · 0 评论 -
同步复位和异步复位
本文内容转载自漫谈–复位reset复位的作用(1)在仿真时:使仿真的电路进入规定的初始化状态或者其他预知的状态,基于此状态下,电路进行状态变换。如果仿真中时序元件没有复位电路,从波形图上只能看到时序单元周围逻辑都是X标红的状态。(2)在IC设计中:复位信号可以让设计的硬件电路进入一个稳定且状态确定的状态,避免因为上电后电路进入到随机的状态而硬件死机。如果用示波器捕捉内部时序单元的信号状态,信号为高低电平之一,只是高低电平的信号可能不符合设计的预期。PS:对于仿真时候的信号未知X状态和IC设计中的高低转载 2022-04-20 15:39:02 · 9449 阅读 · 0 评论 -
ASIC设计流程相关
ASIC设计流程前端流程1.需求分析2.功能架构设计包括处理器架构的选择,总线接口的选择,软硬件功能的划分3.RTL编码使用硬件描述语言将模块功能以代码来描述实现。4.功能仿真验证(前仿)功能仿真,对 RTL 级的代码进行设计验证,检验设计功能的正确性,是否满足规格中的所有要求。仿真工具:Modelsim、VCS5.逻辑综合基于特定的工艺库,设定电路的面积、时序等目标参数的约束条件,将设计的 RTL 级代码映射为门级网表 netlist。综合完成后需要再次做仿真验证(这个也称为后原创 2022-04-20 11:11:03 · 1652 阅读 · 0 评论 -
阻塞和非阻塞的区别
阻塞赋值与非阻塞赋值的区别阻塞赋值(=):假如有两条赋值语句,阻塞赋值是两条语句顺序执行,先完成前一条语句的赋值,再完成下一条赋值语句的赋值。非阻塞赋值(<=):假如有两条赋值语句,非阻塞赋值相当于两条语句并行执行,前面语句的执行不会阻塞后面语句的执行两条语句的使用场合(1) 时序电路建模时,用非阻塞赋值。(2) 锁存器电路建模时,用非阻塞赋值。(3) 用always块建立组合逻辑模型时,用阻塞赋值。(4) 在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值。(5) 在同一原创 2022-04-20 09:45:56 · 2467 阅读 · 0 评论 -
低功耗技术
1.CMOS的功耗组成总功耗 = 动态功耗+静态功耗动态功耗= 短路功耗(导通功耗) + 开关功耗短路功耗:PMOS和NMOS同时导通所消耗的瞬态功耗,CMOS电路在‘0’和‘1’的转换过程中,P、N管会同时导通,产生一个由Vdd到Vss窄脉冲电流,由此引起功耗。开关功耗:电路在开关过程中对输出节点的负载电容充放电所消耗的功耗。有两种写法:p = 1/2CLVDDVDDTr(Tr是输入信号翻转率)和P = CLVDDVDD*f(f时钟频率,一个周期反转两次)。静态功耗:P = Is * Vdd。原创 2022-04-19 21:58:12 · 2548 阅读 · 0 评论 -
静态时序分析相关
1.时钟约束修复分析建立时间用慢速模型:高温、低压、慢速模型(最差情况)分析保持时间用快速模型:低温、高压、快速模型(最好情况)2.建立时间不满足,采用措施降低时钟频率采用流水线(组合逻辑延时减小)提高工作电压,减少信号延迟使用反应速度更快的D触发器3.保持时间不满足,采用措施插入Buffer缓冲器延时做时钟树平衡提高温度,降低电压(延时增大)注意时钟频率无法解决,保持时间公式里没有T,与T无关。4.clock skew和clock jitter时钟抖动(Clock Jitter原创 2022-04-18 22:27:19 · 1786 阅读 · 2 评论 -
跨时钟域相关(单bit,多bit,异步fifo)
1.什么是亚稳态?触发器无法在某一个规定时间段内产生一个确定的状态。原因:由于触发器的建立时间和保持时间不满足,当触发器进入亚稳态,使得无法预测该单元的输出,这种不稳定是会沿着信号通道的各个触发器级联传播。消除:两级或多级寄存器同步。理论上亚稳态不能完全消除,只能降低,一般采用两级触发器同步就可以大大降低亚稳态发生的概率,再加多级触发器改善不大。2.如何降低亚稳态的概率(1)双D触发器打拍;(2)用反应更快的D触发器;(3)引入同步机制;(4)改善时钟质量,用边沿变化快速的时钟信号消除;(原创 2022-04-18 20:53:07 · 6766 阅读 · 0 评论 -
异步fifo
这里注意空满标志信号需要将读写指针先转换为格雷码在同步到各自时钟域进行比较。大致步骤如下:1.读时钟下,读指针按照规则在读时钟下加一计数,写时钟一样。2.将读写指针转换为格雷码,且在当前时钟域寄存打一拍3.将转换好的格雷码进行打两拍跨时钟处理。即读指针格雷码在写时钟下打两拍,写指针格雷码在读时钟下打两拍。4,比较产生空满标志。读空即将 同步过来的写指针格雷码与读指针格雷码判断是否相等。写满即将 同步过来的读指针格雷码与写指针格雷码判断,注意这里是格雷码比较,我们知道二进制码判断满的条件为最高位不原创 2022-04-01 15:57:06 · 540 阅读 · 1 评论 -
同步FIFO
设计代码,代码设计要点主要为读写指针的控制,且根据读写指针的大小关系判断空满,且代码设计为满后即使写使能拉高也不能往里写数据,为空后即使读使能拉高后也读取不了数据,module syn_fifo#( parameter DATA_WIDTH = 16, parameter DEPTH = 8) ( input clk, input rst,原创 2022-04-01 10:43:15 · 622 阅读 · 0 评论 -
DDR3读写数据(MIG)
代码参考的这位老哥的博客快速上手ddr3 ip核这里使用的为native接口。MIG的输入输出信号分为两组:1.Memory interface ports:连接到DDR3,无需用户操作,只需要连接好就行。2.Application interface ports :用户端的接口,供给用户直接操作。部分接口的解释说明:1.ddr3_dqs_n,ddr3_dqs_p:与输入输出对其的信号。2.命令相关信号.app_en,app_rdy。当这两个信号同时为高时,命令才能被使用,其中app_en是原创 2022-03-30 22:43:03 · 4602 阅读 · 1 评论 -
FPGA HDMI显示
原创 2022-03-14 21:01:41 · 741 阅读 · 0 评论