网站大量收购独家精品文档,联系QQ:2885784924

Xilinx FPGA设计与实践教程第3章.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* Verilog中reg与wire的不同点 用寄存器 ( reg )类型变量生成触发器的例子: module rw2( clk, d, out1, out2 ) ; input clk, d; output out1, out2; reg out1; wire out2; assign out2 = d ~out1 ; always @(posedge clk) begin out1 = d ; end endmodule d out2 AND2i1 clk out1 D Q DFF   3.memory型   memory型表示方法是通过二维数组方式来表示的,其定义格式如下:   reg [n-1,0] 存储器名[m-1,0];      wire [3:0] men1[31:0];    32个存储单元,每个存储单元位宽是4 bit      reg[n-1,0] rega; ?= reg mema[n-1,0];    rega = 0; //合法赋值   mema = 0; //非法赋值 如果要多个memory进行赋值,则必须要指定地址。例如:   mema[0] = 1;   reg [3:0] xrom [4:1];   xrom[1] = 4h0;   xrom[2] = 4h1;   4.parameter型   定义常量,定义一个标识符表示一个常数   parameter 参数名 1 = 数据名1;   例如:   parameter s1 = 1;   parameter [3:0] state0 = 4‘h0,    state1 = 4’h1,    ? state2 = 4‘h2,    ? state3 = 4h3; 提高程序的可读性和可维护性 3.3.4 常量      1.整数   整数描述的通用格式如下:    [数据位宽]??[进制表示] [值]   [进制表示]?有四种:   (1) ?b或者B,表示二进制;   (2) ?o或者O,表示八进制;   (3) ?h或者H,表示十六进制;   (4) ?d或者D,表示十进制; 下划线使用,不的会影响数值,提高代码的可读性。   [数据位宽]?表示数值的位宽值,如果没有数据位宽,则表示数据位宽未知。   例如:    6‘b001001 6位二进制数;    5’o7 5位八进制数;    9‘d6 9位十进制数;    8hz 8位十六进制数。   2.实数   1) 十进制计数法 2.0    16.369   2) 科学计数法       234-12e2 值为23412    5e-4 值为0.00005      3.字符串   字符串是双引号内的字符序列,字符串不能分出多行书写,例如:   counter   用8位ASCII值表示的字符可以看做是无符号整数,因此字符串是8位ASCII值的序列。为存储字符串counter,变量需要8?×?7位。   reg[1:8*7] Char;   Char = Conter; 3.4 结?构?化?描?述 使用了例化模块电路的描述语句为结构描述。    图3-2 两个1位比较器组成的两位比较器框图   【程序3-4】 使用1位比较器模块来实现2位比较器。   module eq2    (    input wire[1:0] a, b,    output wire eq_ab    );    wire e0, e1; //内部信号声明    // 主体部分    eq1 eq_bit0_unit (.i0(a[0]), .i1(b[0]), .eq(e0)); //例化1位比较器    eq1 eq_bit1_unit (.eq(e1), .i0(a[1]), .i1(b[1])); //例化1位比较器    assign eq_ab = e0 e1; //若a[0]和b[0]相等,a[1]和//b[1]相等,则a和b信号相等   endmodule [被例化模块名称]指的是将在被系统中调用的那个模块,通常这个模块是在另外一个?.v文件中; 【例化名称】指的是在本系统中为模块起一个代号名称 端口映射关系,表示了被例化模块端口与本系统中的信号之间的连线关系,端

文档评论(0)

_______ + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档