摘要:构造哈夫曼树的过程是这样的一、构成初始集合对给定的n个权值{W1,W2,W3,...,Wi,...,Wn}构成n棵二叉树的初始集合F={T1,T2,T3,...,Ti,...,Tn},其中每棵二叉树Ti中只有一个权值为Wi的根结点,它的左右子树均为空。(为方便在计算机上实现算法,一般还要求以Ti的权...
阅读全文
摘要:LIBRARY ieee; USE ieee.std_logic_1164.ALL; use std.textio.all; use ieee.std_logic_textio.all; ENTITY DFFNTest IS END DFFNTest; ARCHITECTURE behavior OF DFFNTest IS -...
阅读全文
摘要:library ieee; use std.textio.all; use ieee.std_logic_textio.all; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity testin is end entity testin; a...
阅读全文
摘要:前半部分转自http://www.cnblogs.com/Mrseven/articles/2247657.html,后半部分为自己测试结果。 基础知识:verilog 不可综合语句 (1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,function,an...
阅读全文
摘要:这几个概念是不一样的 顺序块:顺序块中的语句是按顺序执行的,每条语句中的延迟值是与其前一条语句执行的仿真时间有关。 并行块:并行块语句是并行执行的,它里面的每条语句中指定的延迟值都是相对于语句块开始执行的时候。 所以顺序块和并行块的区别是,里面每条语句执行的仿真时间,而非具体的阻塞,非阻塞语句。 阻塞赋值:在一下条语句执行前,这条赋值语句必须已经完成。 非阻塞赋值:当非...
阅读全文
摘要:第一种方法module mux( d1, d2, d3, d4, se1, se2, dout ); input d1; input d2; input d3; input d4; input se1; ...
阅读全文
摘要:什么是队列? 队列(Queue)也是一种运算受限的线性表。它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一端称为队头(front),允许插入的一端称为队尾(rear)。 FIFO原则 队列具有先进先出原则,与栈的先进后出形成对比。 为什么设计循环队列? 队列的顺序存储结构称为顺序队列,顺序队列实际上是运算受限的顺序表,和顺序表一样,顺序队列也是必须用一个向量空间来存放当前队列...
阅读全文
摘要:数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值: int a[3][4]; int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 ...
阅读全文
摘要:在C语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为“函数指针变量”。函数指针变量定义的一般形式为:类型说明符 (*指针变量名)();其中“类型说明符”表示被指函数的返回值的类型。“(* 指针变量名)”表...
阅读全文
摘要:typedef struct tagMyStruct { int iNum; long lLength; } MyStruct; 上面的tagMyStruct是标识符,MyStruct是变量类型(相当于(int,char等))。 这语句实际上完成两个操作...
阅读全文