zxopenljx 发表于 2019-4-17 09:39:30

verilog硬件描述语言(转贴)


2018年06月05日 15:40:03 weixin_40351337 阅读数:2985
版权声明:转载请注明出处 https://blog.csdn.net/weixin_40351337/article/details/80579981
      

          Verilog是一种硬件描述语言,和C语言神似。不过它并不是一种纯粹的计算机编程语言。虽然经过二者编写的代码都会经过编译,但Verilog代码并不会生成机器指令。你可以使用Verilog代码生成所设计的硬件电路,也可以编写测试文件(testbench)来验证自己的设计。这好比使用语言来生成电路设计,这种方式比画图设计可是方便多了呢。
         Verilog基础语法

1.模块结构
    module 模块名(信号定义);

    endmodule

例如
module A(a,b,f);

endmodule定义了一个名为A的模块,该模块有a,b,f三个端口
    端口可以如下定义

   

input   a,b;
output    f;

    也可以在模块名后的括号中定义module A (
                        inputa,
                        inputb,
                        output f
                );
endmodule




2.常量
整数的表示:
    <位宽><进制><数值>

2'b10   //2位2进制数2
32'd10//32位10进制数10
32'h10//32位16进制数16
32'o10//32位8进制数8数字电路x和z:
    x代表不确定值,z代表高阻态



3.变量
1)wire型
      wire型变量可以理解为连线,用于组合逻辑

      

module A (
                        inputa,
                        inputb,
                        output f
                );wire c;
assign c=a&b;assign f=c;
endmodule      定义多位宽的信号: wire d;//定义一个8位的wire型变量d


2)reg型变量
      reg寄存器变量对应数据存储单元,可以通过赋值语句来改变其值,reg类型变量的初始值为x。

      同样也可以定义多位的寄存器

reg r;//定义一个8位寄存器3)memory型变量
      memory型变量有点类似c语言中的二维数组,它可以用来表示RAM型存储器。

reg ram//定义了一个存储器,该存储器有256个8位的存储单元

        转载出处 https://blog.csdn.net/weixin_40351337/article/details/80579981

晓灰灰 发表于 2019-4-17 10:49:54







verilog硬件描述语言(转贴)
页: [1]
查看完整版本: verilog硬件描述语言(转贴)