数字电路设计
文章平均质量分 78
数字相关学习笔记
影子才是本体
最是人间留不住,朱颜辞镜花辞树
展开
-
[Tips] 电路设计者可能的学习渠道
EETOP:各路网友提供大量学习资料、书籍、datasheet、课程、讨论等等CSDN:各路网友提供大量学习资料、书籍、datasheet、课程、讨论等等博客园:各路网友提供大量学习资料、书籍、datasheet、课程、讨论等等面包板论坛:各路网友提供大量学习资料、书籍、datasheet、课程、讨论等等电子发烧友:各路网友提供大量学习资料、书籍、datasheet、课程、讨论等等谷粉学术:专门搜索国外论文,根据DOI搜索中国知网:专门搜索国内论文Sci-hub:专门搜索国外论文鸠摩搜书:专门搜索书籍、书本原创 2022-06-29 12:24:04 · 1363 阅读 · 0 评论 -
数字14 AES高级加密协议的动机阐述
最近在学习AES高级加密协议,我想写一篇文章阐述AES的各个操作的动机,也以此督促自己多多思考,多记录。 如果不清楚AES的操作是什么。可以参考这个博文,或者到最后我简单的说明。AES加密算法的详细介绍与实现_TimeShatter的博客-CSDN博客_aesAES加密算法的详细介绍与实现_TimeShatter的博客-CSDN博客_aes 我想阐述的是,AES的每个操作的理由,即为什么。参考文档:《密码编码学与网络安全 原理与实践》第6版 ,斯托林斯著 首先,我想以自己的原创 2022-06-24 17:55:21 · 372 阅读 · 0 评论 -
数字13 DFT scan chain test科普
DFT scan chain 介绍 现代集成电路的制造工艺越来越先进,但是在生产过程中的制造缺陷也越来越难以控制,甚至一颗小小的 PM2.5 就可能导致芯片报废,为了能有效的检测出生产中出现的废片,需要用到扫描链测试(scan chain),由此产生了可测性设计即 DFT flow。 注意scan test 只能检测出制造瑕疵,无法检测芯片功能瑕疵。 在芯片功能设计完成后,整个网表是由一堆普通的寄存器和组合逻辑构成的。扫描链的插入就是指将普通寄存器替换成为扫描...转载 2022-05-06 09:16:44 · 2052 阅读 · 1 评论 -
数字12 设计小记
Spare cell是闲置逻辑单元的意思,在想要添加简单功能时,后端人员简单修改网表中的spare cell后可直接进行place&route,不需要重复进行综合。例如,想要在电路中添加一个与门,直接将一个spare cell在网表中改成与门,然后对应连线,就可以实现功能。超前进位对于计数器,提高其工作频率的方法之一,是进行超前进位操作。例如,对于一个32位的计数器,可以分为2个16位的计数器,低位的计数器在计数至0xfffe时,产生一个进位信号送到一个D触发器,在低位的计数器全原创 2022-03-30 15:09:40 · 424 阅读 · 1 评论 -
[Tips] vivado2017.4安装问题
window环境:win7软件:vivado2017.4安装包:这个东西,需要的找我吧,放了也会不见。解压从解压开始就感觉隐隐有点不对,解压之后的文件比原文件还小。这里的问题可能是我的路径太深了,参考。安装我试着用xsetup.bat安装,但是点一下就不见了,我用cmd去看一下返回了什么?win+r好吧我的是h盘返回的是也就是说,还是上面那个老哥的答案我因为电脑已经没有空间了就不再试它的方法了。参考...原创 2020-12-22 16:14:17 · 2301 阅读 · 1 评论 -
数字 11 verilog实现通用二分法
最近想做一个通用二分法,所谓通用,就是对不同的位宽的数据都能做二分法,比如输入4bit。能够按照8->12->14->13的顺序开始做二分法。输入2bit,能够按照2->3的顺序做二分法。假设输入N,那么就会从N/2开始做二分法。我这个二分法是作用于反馈系统的,此二分法的当前输出,是与比较结果(比较结果决定二分法的下一次分区)相关的。使用verilog语言实现的话,我这里暂时想出了一种思路。以下面这个二分法流程为引。进程cnt_id=0 : 比较结果为0表示二分法原创 2021-02-02 17:09:51 · 2045 阅读 · 0 评论 -
数字 10 笔记_UVM验证平台整体结构
参考《UVM实战》-张强自己总结的一些简单笔记系统架构框图这是1种测试用例的框图,每一种测试用例,都会生成这么一个架构。transaction声明、定义数据包格式,是需要测试的数据包,常用random函数去随机化数据用以测试 field_automation注册,注册后才可以使用uvm中的print、compare等常用函数driver向sequencer请求sequence,并在发送完成后,返回一个done给sequencer。 与DUT建立连接 将t...原创 2020-08-20 19:17:35 · 2171 阅读 · 6 评论 -
数字 09 modelsim中怎么仿真《UVM实战》中的例程
实际操作1 新建工程2 加文件3 hello worldmodule Hello_World;initial begin $display("Hello World! SystemVerilog"); endendmodule4 编译编译成功下方transcript会有提示,如果错误按照提示修改work里面出现对应的编译后文件,如果没有出现该文件,尝试改一下程序里面的模块名...原创 2020-08-12 17:08:49 · 3901 阅读 · 9 评论 -
数字 08 vivado的时序约束UI界面操作
实例1 ADC input_delay现有一块ADC连接到FPGA上,需要在FPGA上实现高速数据的读取,那么第一步自然就是完成可靠的硬件连线,其中需要注意的是:1.注意信号的完整性,尽可能的避免边沿退化;这两区分两个概念: i.高速信号,指的是信号翻转,由高电平到低电平或者反之所耗得时间非常小;可能一个1MHz的TTL信号或者LVDS信号,只要边沿足够陡,那也算是高速信号! ii.高频信号,一般指的是周期性信号的周期时间足够小; iii....原创 2020-06-24 16:58:31 · 6856 阅读 · 5 评论 -
数字 07 verilog仿真实例
D型主从触发器module//D_flip_flopmodule flop(data,clock,clear,q,qb);input data,clock,clear;output q,qb;nand #10 nd1(a,data,clock,clear),nd2(b,ndata,clock),nd4(d,c,b,clear),nd5(e,c,nclock),nd6(f,d,nclock),nd8(qb,q,f,clear);nand #9 nd...原创 2020-05-12 16:47:59 · 1694 阅读 · 0 评论 -
数字 06 verilog_关于异步FIFO
FIFO用于不同时钟域fifo用于不同时钟域时作为一个模块输入端的时钟a连接到fifo的输入端输出端的时钟b连接到fifo的输出端口FIFO用于不同位宽模块之间的传输原创 2020-05-12 16:58:04 · 540 阅读 · 0 评论 -
数字 05 verilog&vivado2018.2零散笔记
有时候综合不了,把电脑的安全软件关掉可能可以解决问题。 异步信号用assign,同步信号用always 模块里面用initial可能会导致无法仿真,建议用异步复位。 使能信号,脉冲信号,激励信号要搞清楚,分工明确。如果有些目的达不到, 很可能就是没有建立相关的信号机制。 Always块里面的if必须要有else连接,不然会产生不定态,模棱两可的时钟的错误。 不能在一个模块里面的不同always块中对同一个寄存器赋值,会产生多驱动错误,容易产生竞争冒险现象,请把信号都归到一个块里面。...原创 2020-05-17 17:00:03 · 238 阅读 · 0 评论 -
数字 04 verilog 时钟无缝切换电路
电路基本原理是依靠两级缓冲完成时钟的切换上图就是时钟无缝切换的一种电路图,通过两级dff级联加上反馈电路形成,分析它的工作过程,可以看到,当select由0→1时,Q1在下图的clk0的这一时刻,会有1→0紧接着 Q2在下图的clk0的这一时刻,会有1→0所以Q2N就有0→1在这之后,同样在clk1的这两个时刻,它的触发器会有变化,从0→1,所以,在这之后的上升沿,时钟就切换到了clk1所以切换过程,会有一个被切时...原创 2020-06-08 19:58:50 · 1155 阅读 · 0 评论 -
数字 03 时序约束
参考bilibili网址:https://www.bilibili.com/video/BV1ME41127So?p=4参考CSDN网址:https://blog.csdn.net/zhanghaijun2013/article/details/104105707参看知乎网址:https://zhuanlan.zhihu.com/p/370689221、如何查看时钟周期约束状态(1)在上图中tcl命令框里,输入命令report_clock_neworks -name...原创 2020-06-08 20:00:47 · 1680 阅读 · 0 评论 -
数字 02 vivado 关于IP核的配置步骤
Vio使用过程:1、ip catalog搜索vio2、配置属性上图设置输入probe数量和输出probe数量我设置输入1 ,输出 0如果不对后面可以再次修改设置位宽。然后okGenerate3、例化例化我一般是先找到veo文件位置,然后再进行例化。点击文件属性,复制文件路径粘贴到文件夹路径,然后找到veo文件可以右键用记事本打开里面有例化程序:4、关于probeVio的Probe_...原创 2020-06-08 19:55:56 · 4394 阅读 · 0 评论 -
数字 01 Vivado2018.2安装及实操
1、一开始的关于连接到网络检查vivado版本的选项我都选了ignore选择第二个Design edition3、安装的软件都确定安装,然后安装完毕,软件自动开启license manager,点击load license,选择license(有史以来啥啥啥的那个)然后点击view license status新建第一个工程:Create projectNext工程名和工程路径RTL工程NextNext选择芯片,后面应该还可以更改(tool原创 2020-05-12 15:56:21 · 6977 阅读 · 0 评论