集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 991|回复: 1

verilog硬件描述语言(转贴)

[复制链接]
zxopenljx 发表于 2019-4-17 09:39:30 | 显示全部楼层 |阅读模式

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 (
                        input  a,
                        input  b,
                        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 (
                        input  a,
                        input  b,
                        output f
                );wire c;
assign c=a&b;assign f=c;
endmodule        定义多位宽的信号: wire [7:0] d;  //定义一个8位的wire型变量d


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

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

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

reg [7:0] ram[255:0]  //定义了一个存储器,该存储器有256个8位的存储单元

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

晓灰灰 发表于 2019-4-17 10:49:54 | 显示全部楼层






verilog硬件描述语言(转贴)
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-4-27 02:09 , Processed in 0.068468 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表