![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
转载
kaopuguyue110
这个作者很懒,什么都没留下…
展开
-
Verilog延迟语句的运用
转自:https://blog.csdn.net/changhaizhang/article/details/6933810module full_adder(a,b,sum);input a,b;output reg sum;always @(a,b) #13 sum = (a & b) ; 或者 always @(a,b) sum = #13 (a & b) ;endm...转载 2018-05-03 15:50:53 · 20364 阅读 · 1 评论 -
不同的verilog代码风格看RTL视图之一
刚开始玩CPLD/FPGA开发板的时候使用的一块基于EPM240T100的板子,alter的这块芯片虽说功耗小体积小,但是资源还是很小的,你写点稍微复杂的程序,如果不注意coding style,很容易就溢出了。当时做一个三位数的解码基本就让我苦死了,对coding style的重要性也算是有一个比较深刻的认识了。本文引用地址:http://www.eepw.com.cn/article/转载 2017-05-09 16:08:24 · 9039 阅读 · 0 评论 -
关于胶合逻辑
芯片可能包含许多诸如微处理器、存储器功能块或者通信功能块之类的功能单元,这些功能单元之间通过较少的粘合逻辑连接起来。在印制板(PCB)层,粘合逻辑可以使用具有较少逻辑门的“粘合芯片”实现,例如PAL、GAL、CPLD等。 "Do not add glue-logic at the toplevel"的意思就是说在设计的顶层连接各个子模块的时候要直接相连,而不要插入一些简单逻辑来连接各转载 2017-05-05 15:45:48 · 2476 阅读 · 0 评论 -
FPGA时序优化八大忠告
忠告一、、如果时序差的不多,在1NS以内,可以通过修改综合,布局布线选项来搞定,如果差的多,就得动代码。 忠告二、看下时序报告,挑一个时序最紧的路径,仔细看看是什么原因导致,先看逻辑级数是多少?是哪种电路有问题,乘法器 或者还是RAM接口数据 先弄清楚哪儿的问题 忠告三、搞时序优化的话 插入寄存器是王道 但也要看具体情况 不一定都得插寄存器,插入寄存器效果不明显的话,先检查一下寄存转载 2017-05-02 11:09:43 · 4748 阅读 · 0 评论 -
Java中Split函数的用法技巧
在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧。如执行:"2|33|4".split("|")出来的结果是:""2|33|4奇怪吧,不过注意看一下API说明还是知道原因的. java.lang.string.split split 方法 将一个字转载 2016-06-15 11:28:41 · 275 阅读 · 0 评论 -
深入研究java.lang.Class类
Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。 Class 没有公共构造方法。Class 对象是在加载类时由 Java转载 2016-04-16 19:46:55 · 239 阅读 · 0 评论 -
JNI字段描述符“([Ljava/lang/String;)V” --- 语法定义
“([Ljava/lang/String;)V” 它是一种对函数返回值和参数的编码。这种编码叫做JNI字段描述符(JavaNative Interface FieldDescriptors)。一个数组int[],就需要表示为这样"[I"。如果多个数组double[][][]就需要表示为这样 "[[[D"。也就是说每一个方括号开始,就表示一个数组维数。多个方框后面,就是数组 的类型。转载 2016-04-16 11:13:14 · 614 阅读 · 0 评论 -
Java中堆内存和栈内存详解
转自:http://www.cnblogs.com/whgw/archive/2011/09/29/2194997.htmlJava把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存转载 2016-04-05 10:43:52 · 250 阅读 · 0 评论 -
4B/5B编码原理
什么是4B/5B编码? 4B/5B编码是百兆以太网(即快速以太网)中线路层编码类型之一,就是用5bit的二进制数来表示4bit二进制数,映射方式如下表所示: 为什么要进行4B/5B编码?在通信网络中,接收端需要从接收数据中恢复时钟信息来保证同步,这就需要线路中所传输的二进制码流有足够多的跳变,即不能有过多连续的高电平或低电平,否则无法提取时钟信息。Mancheste转载 2015-12-20 10:06:31 · 5570 阅读 · 1 评论 -
Quartus II LPM使用指南-FIFO篇
参考文章:http://www.cnblogs.com/wg2011/archive/2012/02/27/2369677.html使用Quartus II 的版本及PC机操作系统版本为11.1 sp2 WIN7 32位前言 本文档根据 ALTERA 的 FIFO user guide 《SCFIFO and DCFIFO Megafunctions》 (August转载 2015-10-12 16:48:20 · 5115 阅读 · 1 评论 -
FPGA I/O 约束
FPGA I/O 约束 1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛。因此,FPGA时序约束中IO口时序约束也是一个重点。只有约束正确才能在高速情况下保证FPGA和外部器件通信正确。1.2 FPGA整体概念 由于IO口时序约束分析是针对于电路板整个系统进行时序分析,所以F转载 2015-09-07 18:48:44 · 5241 阅读 · 0 评论 -
quartus中的signaltapⅡ 的问题
问题描述:在一次调试中发现这样的问题,用signaltapⅡ观察4个信号,结果正确,若再加一路观察信号,则时序中有错误。好像是signaltapⅡ对原来的逻辑造成了影响,又或者是signaltapⅡ采样出来并传上电脑来的数据出错。在网上搜索了一下,这方面的资料。 另外,通过对这方面内容的了解之后,接触到这样一个词汇:增量编译(incremental compilation)如果能好好转载 2015-09-08 15:17:35 · 3368 阅读 · 1 评论 -
FPGA配置和外部存储器烧写问题
首先明确,所谓配置文件,是指,将FPGA配置成某个特定电路的文件,又可以叫内核;所谓程序代码,是指,当FPGA被配置成处理器后,该处理器所执行的程序。FPGA是基于RAM的可编程逻辑器件,器件掉电后,配置信息会完全丢失。所以需要有外部非易失性存储器来存储配置信息。一般使用专用配置器件,如EPCS4,EPCS16,作为外部存储器。当FPGA上电时,就会把外部存储器的配置信息加载到FPGA中,转载 2015-08-01 16:54:12 · 6309 阅读 · 0 评论 -
基础知识:开漏(open drain)和开集(open collector)
在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。 所谓开漏电路概念中提到的“漏”就是指MOS FET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOS FET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图1所示: 组转载 2015-08-01 09:41:03 · 3101 阅读 · 0 评论 -
换位思考多周期约束
在开篇前先推荐两篇文档,一篇是altera的官方文档 Appling Multicycle Execptions in the TimeQuest Timing Analyzer ,另一篇是riple兄很早之前推荐过的Multicycles Exception Between Two Synchronous Clock,这两篇都是关于多周期约束很好的上手文档,虽然可以快速上手解决当务之急,但事后不转载 2015-07-29 11:14:56 · 2113 阅读 · 0 评论 -
异步时钟的同步化,俗称“慢打一拍",寄存一拍
1.输入信号为什么要寄存一般来说,在全同步设计中,如果信号来自同一时钟域,各模块的输入不需要寄存。只要满足建立时间,保持时间的约束,可以保证在时钟上升沿到来时,输入信号已经稳定,可以采样得到正确的值。但是如果模块需要使用输入信号的跳变沿(比如帧同步信号),千万不要直接这样哦。always @ (posedge inputs)begin...end2.所有信号都需要寄存两拍吗转载 2015-08-07 16:12:48 · 17727 阅读 · 0 评论 -
芯片设计流程
本文转自:http://www.eetop.cn/blog/html/30/1638430-2316722.html一、总体规划。 随着集成电路设计规模的不断扩大,出现了很多成熟的常用设计模块,也被成为IP核,现在芯片正向设计,不再是完全从0开始,都是基于某些成熟的IP核,并在此基础之上进行芯片功能的添加。真正从0开始设计的芯片,不是没有,而是成本太高,企业无法承担,而且也并没有必要从...转载 2018-05-03 16:16:50 · 9443 阅读 · 1 评论