首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Verilog 参数化设计
】的更多相关文章
Verilog 参数化设计
为了提高模块的重复利用,关键就在于避免硬编码(hard literal),使模块参数化.参数化建模的好处是可以使代码清晰,便于后续维护和修改.只需要修改参数,不用修改其他代码就可以适用于不同的环境中.具体的参数化建模方法有 3 种: `define 宏定义 parameter,localparam 模块参数化 `ifdef 等条件编译 使用define,parameter和localparam的指导原则: 1 宏定义应该只用于定义系统内全局常量. 2 应该把所有的宏定义仿真一个definitio…
Verilog语法基础讲解之参数化设计
Verilog语法基础讲解之参数化设计 在Verilog语法中,可以实现参数化设计.所谓参数化设计,就是在一个功能模块中,对于一个常量,其值在不同的应用场合需要设置为不同的置,则将此值在设计时使用parameter 关键字声明,那么在上层模块例化使用该功能模块时,可以根据具体需求重新配置该常量的值,从而实现不同应用场合对对应常量的灵活调整. 以下为使用Verilog设计的一个控制LED闪烁灯的模块代码: 01 module counter(Clk,Rst_n,led); 02…
Verilog中使用'include实现参数化设计
前段时间在FPGA上用Verilog写了一个多端口以太网的数据分发模块,因为每个网口需要独立的MAC地址和IP地址,为了便于后期修改,在设计中使用parameter来定义这些地址和数据总线的位宽等常量. 当时的做法是,顶层模块和子模块中都定义parameter型常数,在顶层模块引用子模块时,通过参数传递改变在被引用子模块中已定义的参数,实现在顶层模块统一管理参数的功能,代码如下 module top(); // 顶层模块 'd100, 8'd1}; // 以太网1 IP地址 192.168.10…
对Verilog 初学者比较有用的整理(转自它处)
*作者: Ian11122840 时间: 2010-9-27 09:04 * *标题: 菜鸟做设计必看!有关如何做设计的整体思路,以及能否综合的笔记 …
Verilog TestBench Coding Style
Abtract 关于编写testbench的一些经验总结心得. Introduction 1.基本的Testbench结构 1)常用的编码结构 `timescale 1 ns / 1 ps // 时间精度和刻度 module 模块名称: DUT输入信号定义: // DUT输入信号一般定义为reg类型 DUT输出信号定义: // DUT输出信号一般定义为wire类型 ... DUT // 待测module ... initial…
verilog RTL编程实践之四
1.verilog平时三个级别: 1.gate level: and or not xor 2.RTL level: reg comb seq 3.behavior:+ – * / 2.system tasks 1.system tasks必须procedures(always/ initial/ tasks /function)中. always written inside procedures 2.$monitor and $display 与time region有关. 3.suspe…
Verilog学习笔记简单功能实现(二)...............全加器
先以一位全加器为例:Xi.Yi代表两个加数,Cin是地位进位信号,Cout是向高位的进位信号.列表有: Xi Yi Cin Sum Cout 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 由左边表格可知: Sum=X’Y'Cin+X'YCin'+XY'Cin'+XYCin=X'(Y⊕Cin)+X(Y⊙Cin)=X'(Y⊕Cin)+X(Y⊕Cin)'=X⊕Y⊕Cin…
Verilog HDL模型的不同抽象级别
所谓不同的抽象类别,实际上是指同一个物理电路,可以在不同层次上用Verilog语言来描述.如果只从行为功能的角度来描述某一电路模块,就称作行为模块.如果从电路结构的角度来描述该电路模块,就称作结构模块.根据抽象的级别将Verilog的模块分为5种不同的等级: 1)系统级 2)算法级 3)RTL级(register-transfer-level)4)门级 5)开关级. 对于数字系统的逻辑设计工程师而言:熟练地掌握门级.RTL级.算法级.系统级的描述是非常重要的. 对于电路基本元部件的设计者而言,则…
Verilog学习笔记基本语法篇(十二)········ 编译预处理
h Verilog HDL语言和C语言一样也提供编译预处理的功能.在Verilog中为了和一般的语句相区别,这些预处理语句以符号"`"开头,注意,这个字符位于主键盘的左上角,其对应的上键盘字符为"~",这个符号并不是单引号"'".这里简单介绍最常用的`define `include `timescale. 1)宏定义`define 用一个指定的标识符(名字)来代表一个字符串,其的一般形式为: `define 标识符(宏名) 字符串(宏内容) 如:…
Verilog学习笔记基本语法篇(十一)········ 常用系统函数
1)系统任务:$monitor 格式: $monitor(p1,p2,p3...pn); $monitor; $monitoron; $monitoroff; 任务$monitor提供了监控输出列表中的表达式或变量值的功能.其参数列表中输出格式控制字符串和输出列表的规则和$display一样.当启动一个带有一个或多个参数的$monitor时,仿真器则建立一个处理机制,使得每当参数列表中变量或者表达式的值发生变化是,整个参数列表中变量或者表达式的值都将输出显示.如果同一时刻,两个或多个参数的值…