FPGA
文章平均质量分 71
给米PHY
IC设计、IC验证
展开
-
竞争与冒险
竞争与冒险不光会出现在实际的电路中,在仿真时也会存在信号竞争。下面我将展开分析。 文章目录 一、电路中的竞争冒险1.竞争冒险的定义2.判断竞争冒险的方法方法一:逻辑代数法方法二:卡诺图法 3.消除竞争冒险的方法 二、仿真时的竞争与冒险。 一、...转载 2022-02-15 10:34:59 · 3405 阅读 · 0 评论 -
xilinx FIFO的使用及各信号的讨论
FIFO的使用非常广泛,一般用于不同时钟域之间的数据传输,比如FIFO的一端是AD数据采集,另一端是计算机的PCI总线,假设其AD采集的速率为16位100K SPS,那么每秒的数据量为100K×16bit=1.6Mbps,而PCI总线的速度为33MHz,总线宽度32bit,其最大传输速率为33*32=1056Mbps,在两个不同的时钟域间就可以采用FIFO来作为数据缓冲。另外对于不同宽度的数据接口也可以用FIFO...转载 2021-02-07 15:00:02 · 1236 阅读 · 0 评论 -
VIVADO DSP48E1
所使用EDA软件:VIVADO2018.3 FPGA型号:xc7a35tcsg325-2 DSP48E1的内容比较多,但是我们实际运用它的时候不会去刻意的去调动它的原语。所以对于DSP48E1,我们只需要知道它内部的基本架构,能实现哪些具体的功能,以及它级联后的作用即可。在实际的编码过程中,合理充分的利用DSP48E1不仅可以节约不少CLB资源,还能提高整个FPGA系统的性能。 学习完本章你将会收获以下内容:...转载 2021-02-04 09:42:04 · 4614 阅读 · 2 评论 -
DSP与FPGA间简单通信时序
DSP与FPGA采用EMIF接口通信,即将FPGA作为DSP的外部SRAM,只需设置EMIF控制的存储器为SRAM类型即可,DSP通过EMIF接口读写SRAM的时序如下: 参考datasheet《tms320dm642.pdf》 可以根据以上时序图编写FPGA代码,以下仅供参考:moduleDSP_FPGA( &nb...转载 2021-02-02 08:53:22 · 1608 阅读 · 0 评论 -
关于ISE中XPS自定义IP核的语句解释
关于ISE中XPS自定义IP核的语句解释slv_reg0[(byte_index8) +: 8] <= Bus2IP_Data[(byte_index8) +: 8];for ( byte_index = 0; byte_index <= (C_SLV_DWIDTH/8)-1; byte_index = byte_index+1 ) if ( Bus2IP_BE[byte_index] == 1 ) slv_reg0[(byte_i转载 2020-12-13 11:02:10 · 556 阅读 · 0 评论 -
Xilinx 7 series设计单元Buffer与IO——BUFG、IBUFG、IBUFDS_GTE2等
文章转载于Xilinx 7 series设计单元Buffer与IO——BUFG、IBUFG、IBUFDS_GTE2等转载 2020-07-21 10:26:09 · 4630 阅读 · 0 评论 -
关于消抖电路的再认知(消抖电路的简洁写法)
文章目录1. 引言2. 简洁的方法,令人愉悦的代码2.1 module2.2 tb1. 引言2019年11月,学习了梅雪松的消抖电路,但始终觉得他用状态机来判断抖动并消除抖动会增加很多功耗,毕竟一个按键的每次抖动都要用状态机来判断,增加了电路电平某段时间的翻转率,觉得不妥。随后便学习了特权同学的视频,有了关于特权同学第9课——消抖电路rtl的分析这一文章。可是本人始终觉得两人的写法都有些欠缺。恰巧入职未满一周,有幸接触到了公司合作方所给的FPGA代码,其中简洁的消抖电路令我拍案惊奇——这才是它应该原创 2020-07-17 20:58:57 · 1333 阅读 · 2 评论 -
(亲测解决)Windows下Vim中无法输入中文
(亲测解决)Windows下Vim中无法输入中文转载 2020-06-15 13:40:57 · 580 阅读 · 0 评论 -
FPGA之以太网ARP发送
文章目录1 代码段2 TB段3 分析3.1 分析一3.2 分析二3.3 分析三4 收获4.1 收获一4.2 收获二参考梅雪松的2017年以太网发送部分的视频教程以及代码,对自己编写代码过程中遇到的一些问题进行了调试,是为此篇。1 代码段自己编写的代码段如下module eth_send( input rstn, //MII input mii_tx_clk , output m...原创 2020-02-27 15:26:13 · 822 阅读 · 0 评论 -
关于红外键盘与DDS联合调试的一个问题
由于代码相关附件太大,传不上来,只能通过百度云分享...链接:https://pan.baidu.com/s/1oE7ncVOtyOhfuvv-jGfALg提取码:7ran目前在红外键盘和双通道DDS的调试中存在如下问题:三段式状态机的第一段和第二段如下:并且,通过tb仿真,状态机的跳转也很正确,至少在状态IDLE跳到RECEIVE_FWD的时候是正确的。但...原创 2020-02-16 21:05:46 · 212 阅读 · 0 评论 -
脉冲与电平信号的相互转换
文章目录1 前言2 电平转换成脉冲信号(边沿检测)2.1 高电平变低电平2.2 低电平变高电平3 脉冲信号转电平信号1 前言回想自己写的某些代码,发现这些代码正好是脉冲与电平信号的相互转换,只是当时并没有深刻认识,因此记下,是为心得。其实也特别简单。2 电平转换成脉冲信号(边沿检测)一个高电平变成低电平;或者一个低电平变成高电平,那么如何将变化的时刻产生脉冲信号呢?2.1 高电平变低...原创 2020-02-08 15:11:00 · 14290 阅读 · 5 评论 -
针对红外键盘HT6221的输出设计按键状态机
前言前言部分对全文无关紧要,可直接跳过。距离1月9日发布的上一篇博客已经过去大约一个月的时间,期间旅游、过年以及各种事项接踵而至,并且更要命的是,矩阵4x4键盘不论如何调试,都会出问题。根据指导人所说的修改方案,即加上上拉电阻,问题依旧存在——状态机的跳转不如所愿,不该出现数据的信号出现了数据等——起初,我以为是我自己的问题,拼命找bug,代码反复修改多次,无疾而终,这便花去了大概五六天的时间...原创 2020-02-07 23:02:30 · 707 阅读 · 0 评论 -
两个数码管显示16位数
背景此篇文章是4x4矩阵键盘的衍生品。4x4的矩阵键盘一共16个按键,每个按键对应相应的键值,分别为0~15。每按一个键,对应的键值并联到4个LED灯上,以二进制的形式表示(比如键值5,二进制为'b0101,对应的LED灯亮灭情况为:亮灭亮灭),同时也并联到数码管上,通过数码管显示出目前对应的键值。然而,一个数码管足够显示0~F(即0到15)这16个键值,如果想完完全全转换成十进制来显示,即...原创 2020-01-09 17:03:15 · 6509 阅读 · 1 评论 -
关于DAC_TLV5618A驱动设计的思考
DAC时序分析原创 2019-12-23 16:11:34 · 1881 阅读 · 1 评论 -
关于小梅哥ADC128S022驱动设计的思考
此篇文章,主要讲述经过视频点拨后自己动手写adc_driver代码所遇到的若干问题。并且,希望我能够把技术讲成故事。开始吧。文章目录开篇,ADC时序分析轻触开关变琴键开关想成为脉冲的conv_done信号被卡住的en_conv两个主要问题轻触开关转琴键开关开篇,ADC时序分析以德州仪器的ADC128S022作为ADC器件,其操作时序图如下:稍作分析不难发现,轻触开关变琴键开关...原创 2019-12-16 21:52:50 · 5075 阅读 · 13 评论 -
关于小梅哥74HC595驱动设计的思考
文章目录源码RTLtestbench仿真结果分析改进关于74HC595芯片的规格参数以及时序图可参考德州仪器CD74HC595或其他博客,在此不多做分析。现如今,小梅哥用两片74HC595级联,从而驱动八个八段8位的数码管。输入分别为位选信号sel[7:0]和段选信号seg[7:0],经过设计的驱动电路,从而产生输入到74HC595上的DS信号、移位信号SHCP以及存储信号STCP。驱动原理图...原创 2019-11-30 13:51:53 · 2034 阅读 · 5 评论 -
verilog中的参数化设计
层次化结构设计此篇介绍在两个或多个文件中改变某一文件参数值的方法,具体如下:假设counter.v的代码如下:module counter( clk , rst_n, out);input clk ;input rst_n ;output out ;reg [24:0] cnt;parameter CNT_NUM = 25'd24_999_999;alw...原创 2019-11-28 17:22:03 · 1551 阅读 · 0 评论 -
手把手教你vim/Gvim中自动标注作者、时间、注释等信息(2019-11-24亲测可用)
此篇文章得益于以下三个博客/网站,按此顺序打开可得解。关键词:标明作者,标注作者,表明信息,标注信息。https://www.cnblogs.com/90zeng/p/vim_authorinfo.htmlhttps://www.vim.org/scripts/script.php?script_id=2902https://www.vim.org/scripts/script.p...原创 2019-11-24 12:48:37 · 1573 阅读 · 0 评论 -
关于特权同学第9课——消抖电路rtl的分析
rtl代码如下://说明:当三个独立按键的某一个被按下后,相应的LED被点亮;// 再次按下后,LED熄灭,按键控制LED亮灭module sw_debounce( clk,rst_n, sw1_n,sw2_n,sw3_n, led_d1,led_d2,led_d3 );...原创 2019-11-22 17:20:21 · 1704 阅读 · 2 评论 -
占空比可调的分频电路实现
在时序逻辑电路中,除了实现时钟的奇偶分频,还会涉及到时钟的占空比问题,现就该问题进行如下分析。实现占空比为50%的分频电路很简单,对于偶分频电路只需将cnt计数到一半时进行输出q的翻转即可。比如8分频的输出q,只需在cnt == 3(8÷2 - 1)的时候进行翻转,因为cnt计数是从0计数到7,即0,1,2,3,4,5,6,7,其中3正好是中间点。 若要实现占空比可调,q1和q2要根据不同的...原创 2019-09-02 20:45:14 · 5515 阅读 · 0 评论 -
关于“异步复位,同步复位,异步复位同步释放”的理解
今天好好理一理异步复位,同步复位,以及亚稳态中的异步复位同步释放。一般让复位信号低电平有效异步复位:复位信号不受时钟的控制,只要复位信号有效,那么电路就会复位。对应的写法为:always @ (posedge clk or negedge rst_n) begin if (!rst_n) xxxx; else if (xx) begin ...原创 2019-06-05 16:23:04 · 26428 阅读 · 19 评论