- 博客(7)
- 收藏
- 关注
原创 Verilog中的内存建模
这里的内存模型指的是内存的行为模型。Verilog中提供了两维数组来帮助我们建立内存的行为模型。具体来说,就是可以将内存宣称为一个reg类型的数组,这个数组中的任何一个单元都可以通过一个下标去访问。这样的数组的定义方式如下:reg [wordsize : 0] array_name [0 : arraysize]; 例如:reg [7:0] my_memory
2008-07-07 17:10:00 4675 4
原创 如何设计Assertion-based Monitor(1)
通常的工作流程如下:(1)根据设计,给出设计的约束。如果是Timing方面的约束,为更好的描述,可以使用相关的描述工具如Timing designer来进行设计,完成后,使用语言来描述这些设计约束;(2)将这些设计约束用SystemVerilog Assertions语言来描述。通常有两种方法来将SVA校验器连接到设计中。1是在模块定义中内建或者内联检验器。2是将检验器与模块,模块的实例或者一个模
2008-06-25 10:47:00 1020
原创 使用module_param来向内核模块传递参数
如果希望给一个内核模块传递参数,则可以通过module_param()。参数用moudle_param宏定义来声明,它定义在moduleparam.h。 下面是module_param宏的定义:/* This is the fundamental function for registering boot/module parameters. perm sets the vi
2008-06-23 17:59:00 8077
原创 Linux 2.6中的字符设备驱动程序结构
在Linux2.6内核中使用cdev结构来描述字符设备,cdev结构体的一个定义如下: struct cdev { struct kobject kobj; struct module *owner; const struct file_operations *ops; struct list_head list; dev_t dev
2008-06-22 19:52:00 1175 1
原创 NAND Flash Simulation Model设计总结
NAND Flash Simulation Model设计总结:重点是如何建立这样的模型:通常做ASIC设计所可以使用的Verilog语言的成分比Verilog能提供的要小。它必须是可综合的。而用于仿真的Verilog程序,就可以使用整个Verilog所提供的语言全集。下面介绍一些设计仿真模型的相关技术:1. task的使用task便于封装一些通用的任务,这常常在Test bench中使用。
2008-06-14 10:43:00 3293 3
原创 使用默记法来简化递归程序的编写
下面是一个算法题目:有100个台阶,每次可以走1个台阶,也可以走2个台阶,问走完这100个台阶共有多少种走法?分析:假设n代表台阶的数目,sum(n)表示走法的数目,则有如下关系:1。n=1,则表示只有1个台阶,则只有一种走法,则sum(n)=1;2。n=2,则表示有2个台阶,这个时候,可以选择一次走两个台阶,或者连续走两次,每次走1个台阶,则sum(n)走法为2。3。n不为1,也不为2,这个时候
2007-06-14 21:48:00 910
原创 ++a和a++的相关问题
int a=1;int b,c;b=(a++)+(a++)+(a++);//计算结果:b=3,a=4int a=1;c=(++a)+(++a)+(++a);//计算结果:c=10,a=4为什么c=10呢?结果与编译器有关,gcc得出的结果也是10。下面是一个测试的源代码:int main(int argc, char argv[]){ int a = 1; int b,c; b = (a
2007-06-13 12:25:00 1593 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人