摘要:首先,VHDL不是软件程序,不存在顺序执行的问题。如果你用多个结构体来描述不同的实现方案的话,那么,如果不特别声明的话,则VHDL会对最后描述的那个结构体进行综合。如果你想要对其他结构体进行综合的话,则要写一个配置声明。 配置是VHDL五大模块(实体、结构体、设计库、程序包、配置)之一,关于配置的详
阅读全文
摘要:文章目录 前言 VHDL与Verilog的比较 语法比较 基本程序框架比较 端口定义比较 范围表示方法比较 元件调用与实例化比较 Process与always比较 标准逻辑类型比较 逻辑常量赋值比较 命名规则比较 操作符号比较 注释比较 初始化比较 例化与生成语句比较 循环语句对比 子程序对比 自定
阅读全文
摘要:“initial这个语法一般使用于仿真所用的激励文件中,只是给寄存器类型的变量赋初值用的,因此理论上是不可以被综合的。”
阅读全文
摘要:Xilinx公司的FPGA中有着很多的有用且对整个工程很有益处的IP核,比如数学类的IP核,数字信号处理使用的IP核,以及存储类的IP核,本篇文章主要介绍BRAM IP核的使用。 BRAM是FPGA定制的RAM资源,有着较大的存储空间,且在日常的工程中使用较为频繁。BRAM以阵列的方式排布于FPGA
阅读全文
摘要:双口RAM经常用于跨时钟域处理,且比FIFO灵活性更大。本文给出一个具体的设计实例,让大家理解双口RAM在跨时钟域处理中乒乓操作的用法。 输入数据速率20MHz,输出数据速率100Mhz,使用双口RAM完成跨时钟域处理。一次传输的数据为1024个,假设数据位宽为8bit,使用两片宽度为8、深度为10
阅读全文
摘要:今天给大侠带来基于FPGA的乒乓ram设计,话不多说,上货。 一、概述 在现在的数据采集分析系统中,随着采集数据的速度剧增,每次都对这些庞大的数据量直接进行分析,这将会占用很多的CPU,使得CPU不能及时的去做其它的事情。我们可以在传输这些数据的时候提供适当的通道,建立一个缓冲电路,来实现数据流的无
阅读全文
摘要:李虎: CLB中分为SliceM和SliceL。他们其中都有LUT。 SliceM(M是指Memory)和SliceL(L是指Logic)的区别是,SliceM中含有能够把LUT资源重新整合为Ram和Rom的逻辑。这就是所谓的Distributed Ram。 分布式RAM是如何产生的及其与Block
阅读全文
摘要:1.对于如下代码块: always @(nstate /*or master_din or master_dout_reg*/) begin //initial; master_din_reg = 0; master_dout = 0; cs = 1'b0; wr_done = 1'b0; rd_d
阅读全文
摘要:Verilog中的变量有线网类型和寄存器类型。线网型变量综合成wire,而寄存器可能综合成WIRE,锁存器和触发器。二:Verilog语句结构到门级的映射1、连续性赋值:assign连续性赋值语句逻辑结构上就是将等式右边的驱动左边的结点。因些连续性赋值的目标结点总是综合成由组合逻辑驱动的结点。Ass
阅读全文
摘要:敏感信号列表出现在always块中,其典型行为级的含义为: 只要敏感信号列表内的信号发生电平变化,则always模块中的语句就执行一次,因此设计人员必须将所有的输入信号和条件判断信号都列在信号列表中。 有时不完整的信号列表会造成不同的仿真和综合结果,因此需要保证敏感信号的完备性。 在实际的PLD 器
阅读全文
摘要:楼主的问题有点反了。SRAM工艺是FPGA的一种工艺方法。而工艺主要是针对编程开关来说的。现在的FGPA按工艺分主要有SRAM工艺和Flash工艺两类。SRAM工艺的FPGA最大的特点是掉电数据会丢失,无法保存,所以它们的系统除了一个FPGA以外,外部还需要增加一个配置芯片用于保存编程数据,比如EP
阅读全文
摘要:在文章《LUT是如何实现千万种逻辑结构的》里面我们讲过了LUT的原理,实现逻辑函数时,相当于一个ROM将结果预存,然后把通过输入信号当作地址对预存的结果进行寻址。因此同样借助LUT加几个端口,就可以实现RAM。SLICEM里面的LUT就可以用来实现RAM资源。我们接下来讲几个概念。 (1)CLB C
阅读全文
摘要:一.查找表(Look-Up-Table)的原理与结构 采用这种结构的PLD芯片我们也可以称之为FPGA:如xilinx的Spartan,Virtex系列等。 查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。 目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一
阅读全文
摘要:如果clk是std_logic类型,它的取值有9种,当clk'event 和clk='1'都满足时不一定是上升沿,此时应该用rising_edge。clk为bit类型时是一样的。
阅读全文
摘要:本文转载自: MYMINIEYE微信公众号 1.差分信号简介 1.1差分信号 区别于传统的一根信号线一根地线的做法,差分传输在两根线上都传输信号,这两个信号的振幅相同,相位相反,在这两根线上的传输的信号就是差分信号。信号接收端通过比较这两个电压的差值来判断发送端发送的逻辑状态。在电路板上,差分走线必
阅读全文
摘要:Xilinx FPGA可以选择端接电阻是在FPGA内实现还是外部实现,一般都是采用在FPGA内实现可以省却PCB上布板的不便,对接口速率较低的来说,有时候不端接也看不出问题来,但是速率一高问题就容易出现了,会影响到FPGA接收数据的准确性,就是信号完整性方面的内容。
阅读全文
摘要:参考文档UG471,在满足一定条件下,LVDS25电平可以接入VCCO为3.3V的Bank。 如果该Bank有LVCMOS电平的输入输出引脚,从我们的测试来看,在Vivado中必须把LVCMOS电平的信号设置为LVCMOS25,而不能配置为LVCMOS33,否则会报错编译不过。 我的疑问是, 1,
阅读全文
摘要:1.信号 信号是描述硬件系统的基本数据对象,它的性质类似于连接线。信号可以作为设计实 体中并行语句模块间的信息交流通道。 信号作为一种数值容器,不但可以容纳当前值,也可以保持历史值(这决定于语句的表达方式)。这一属性与触发器的记忆功能有很好的对应关系,只是不必注明信号上数据流动的方向。信号定义的语句
阅读全文
摘要:原文链接点击这里 EEPROM(Electrically Erasable Programmable read only memory)即电可擦可编程只读存储器,是一种掉电后数据不丢失(不挥发)存储芯片。 EERPOM的基本结构有几种,这里讲解比较常用的FLOTOX管结构,如下图所示: FLOTOX
阅读全文
摘要:背景 RAM和ROM也是类似的,由于这也是常用的IP核,所有完全有必要在这里记录一下,以后用到了实际后,再补充到实际工程中。随机存储器(RAM),它可以随时从任一指定地址读出数据,也可以随时把数据写入任何指定的存储单元,且读写的速度与存储单元在存储芯片的位置无关。RAM主要用来存放程序及程序执行过程
阅读全文
摘要:本文首发于微信公众号“花蚂蚁”,想要学习FPGA及Verilog的同学可以关注一下。 1. if_else语句 if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。Verilog HDL语言提供了三种形式的if语句。 (1). if(表达式)语句 例如: if
阅读全文