随笔分类 - Verilog语法
摘要:That syntax is called an indexed part-select. The first term is the bit offset and the second term is the width. It allows you to specify a variable f
阅读全文
摘要:Abtract Abtract 关于编写testbench的一些经验总结心得。 Introduction 1.基本的Testbench结构 Introduction 1.基本的Testbench结构 1)常用的编码结构 `timescale 1 ns / 1 ps // 时间精度和刻度 module
阅读全文
摘要:Abtract generate语句允许细化时间(Elaboration-time)的选取或者某些语句的重复。这些语句可以包括模块实例引用的语句、连续赋值语句、always语句、initial语句和门级实例引用语句等。细化时间是指仿真开始前的一个阶段,此时所有的设计模块已经被链接到一起,并完成层次的
阅读全文
摘要:十大基本功之 testbench 1. 激励的产生 对于 testbench 而言,端口应当和被测试的 module 一一对应。端口分为 input,output 和 inout 类型产生激励信号的时候,input 对应的端口应当申明为 reg,output 对应的端口申明为 wire,inout
阅读全文
摘要:一段式状态机: 两段式状态机: 三段式状态机: 三种写法对比: (1)一段式状态机不利于维护(简单状态机可以用); (2)两段式状态机是常见写法,时序逻辑进行状态切换,时序逻辑实现各个输入、输出以及状态判断,利于维护,不过组合逻辑容易出现毛刺等常见问题; (3)三段式状态机推荐写法,代码易维护,时序
阅读全文
摘要:1. 连续赋值语句(Continuous Assignments) 连续赋值语句是Verilog数据流建模的基本语句,用于对线网进行赋值,等价于门级描述,是从更高的抽象角度来对电路进行描述。连续赋值语句必须以关键词assign开始。 连续复制的主要特点是: 连续赋值语句的左值可以是一下类型之一: ①
阅读全文
摘要:转载自http://www.cnblogs.com/nanoty/archive/2012/11/13/2768933.html Abtract generate语句允许细化时间(Elaboration-time)的选取或者某些语句的重复。这些语句可以包括模块实例引用的语句、连续赋值语句、alway
阅读全文
摘要:设计者在写设计代码时,有时可能针对仿真写一些语句,这些语句可能是不为DC所接受,也不希望DC接受;设计者如果不对这些语句进行特殊说明,DC读入设计代码时就会产生语法错误。 另一种情况是,设计者在写设计代码,有些设计代码是为专有的对象写的(如公司内部),这些专有的设计代码可能不希望被综合。 Synop
阅读全文
摘要:Abstract 边沿检测电路(edge detection circuit)是个常用的基本电路。 Introduction 所谓边沿检测就是对前一个clock状态和目前clock状态的比较,如果是由0变为1,能够检测到上升沿,则称为上升沿检测电路(posedge edge detection ci
阅读全文
摘要:参考资料:xilinx AXI4 Stream Peripherals 源码 //************************************************************************ Verilog中函数使用方法这里不再赘述,只给出函数原型及其调用方式。
阅读全文
摘要:l generate语句 Verilog-2001添加了generate循环,允许产生module和primitive的多个实例化,同时也可以产生多个variable,net,task,function,continous assignment,initial和always。在generate语句中
阅读全文
摘要:阻塞赋值与非阻塞赋值(verilog篇) 2017-09-30 竹海 相约电子ee 相信刚刚接触verilog的读者,多少对阻塞赋值和非阻塞赋值仍有一些困惑。笔者在这篇文章,带领大家深入的理解这两者的区别。 首先笔者给一些实验及仿真数据。通过修改testbench文件,利用modelsim软件来观察
阅读全文
摘要:计数器分频 always @(posedge clk)begincountr <= countr + 1'b1; end assign clk_256 = countr[7];
阅读全文
摘要:算法中常常会到浮点数运算,而浮点数的处理常常是Verilog初学中常常遇到的问题。以下将就一个简单的例子说明Verilog中浮点数运算处理。 在JPEG图像压缩时遇到色彩空间变换的问题,将YCbCr转换到RGB会遇到浮点数的运算,这个实现复杂,以摄氏温度转换为华氏温度为例 : F = C x 1.8
阅读全文
摘要:最近在做的事情是,用FPGA生成一些满足特定分布的序列。因此为了验证我生成的序列是否拥有预期的性质,我需要将生成的数据提取出来并且放到MATLAB中做数据分析。 但是网上的程序很乱,表示看不懂==其实特别简单的一个命令,不知道别人为什么搞那么复杂。 在testbench里面写的主要语句: 1 2 3
阅读全文
摘要:一、时序设计 方法1.通过状态机来实现,通过verilog控制FPGA,让它该快的时候快,该慢的时候慢。 方法2.FPGA中运行CPU 把逻辑控制顺序复杂的事情用C代码来实现,而实时处理部分用verilog实现,并且verilog这部分可以被C代码控制。Xilinx的FPGA目前支持的CPU有Mic
阅读全文
摘要:Verilog 1995 VS Verilog 2001 Verilog 1995 VS Verilog 2001 Verilog-1995 VS Verilog-2001 2001年3月IEEE正式批准了Verilog‐2001标准(IEEE1364‐2001),与Verilog‐1995相比主要
阅读全文
摘要:一个很好的解释阻塞赋值与非阻塞赋值的例子 1 module bnbasm (/*AUTOARG*/ 2 // Outputs 3 q1, q2, 4 // Inputs 5 clk_osc 6 ) ; 7 input clk_osc; 8 output [7:0] q1,q2; 9 10 reg [
阅读全文
摘要:// Quartus II Verilog Template// Simple Dual Port RAM with separate read/write addresses and// single read/write clock module simple_dual_port_ram_sin
阅读全文