Verilog HDL语言不全面但基本入门够用介绍

本质 : Verilog是一种即可用于电路设计也可用于模拟仿真的HDL语言,所谓HDL语言即描述线路的语言
类型 : ce que l’on a besoin d’apprendre , c’est seulement deux types qui pourraient etre synthetisés par des logiciels : reg et wire.

  • reg, c’est un registre
  • wire, c’est une wire..
  • integer

语句 : on a seulement 3 types de description en Verilog, description d’agitation, de flux, et de structure.

  • Description d’agitation : always @ (posedge Clock or negedge
    Reset_n);
    accepte seulement des reg comme variation
  • Description de flux : assign #1 A = B; accepte seulement des wire
    comme variation
  • Description de structure : xor #1 (result, eq1, eq2);

框架1 :

    module Hello(des inputs et des outputs pin) ;
    //definition de pin : input ou output , inout
    // definition des pins et des variables dans la module, et des « parameter »
    //descriptions ....generalment, plus simple , plus belle. 
    endmodule

框架2 :

    Always @ (posedge Clock or negedge Reset_n)
        begin
        end

赋值 :

    A <= B // c’est en parallele
    B <= C
    {eq1, eq2, eq3, eq4} = 4’b0001 ;
    assign a = b ;//a est une wire 

在一个module中,变量只能在一个描述内被赋值,不可以有多个描述进行赋值
寄存器数组 :

  • 1d : reg [3:0] ABC largeur est 4
  • 2d : reg [3:0] ABC [0:7] largeur est 4, et longeur est 8

操作符 :

  • 归约 : &与 ~非 |或 ^亦或 example : &4b1000 = 1b0
  • 相等 : == != 至于全等,则不能用于综合
  • 逻辑 : ! || &&
  • 位操作 : ~每个二进制取反 & | ^

条件语句 :

    if (condition)
        begin
            block
        end
    else
        phrase ;
    case ({A, B})
    2`b00 : ...
    endcase

循环语句 :

for (i =4 ; i <= 7 ; i = i +1)
    begin
    end

while (condition)

    repeat (8)
        begin
        end

实例化模块
模块内 input 和 inout必须是线网,因为输入的肯定是一根电线。。。
输出可以随意
模块外相反。
状态机 :
Generalement, on l’ecrit sous la forme de 2 phases ou 3 phases. Le premier est temporel, deuxième est logic , 3eme pourrait etre temporel
任务
时序逻辑不推荐使用task
Testbench :

  • Clock signal :
    parameter FAST_PERIOD = 10 ;
        reg Clock ;
        initial
            begin
                Clock = 0 ;
                forever # (FAST_PERIOD/2) Clock = ~Clock ;
            end
        end
    initial
        Clock = 0;
    always # (FAST_PERIOD/2) Clock = ~Clock;
  • Reset:
    • 同步
    • 异步
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Verilog HDL是一种硬件描述语言,用于设计和描述数字电路和系统。它是面向硬件的设计语言,可用于开发和实现各种数字逻辑电路和集成电路。以下是Verilog HDL语言入门的一些关键点。 首先,了解Verilog HDL语言基本语法和结构是入门的第一步。Verilog HDL使用模块化的设计方法,其中包含模块定义、端口声明和内部逻辑描述。模块是一个基本的设计单元,它可以包含输入和输出端口以及内部逻辑。 其次,理解Verilog HDL语言中的数据类型和变量是非常重要的。Verilog HDL提供了几种数据类型,包括位、向量和整数等。使用适当的数据类型可以更好地描述和处理数字逻辑电路中的信号和数据。 此外,掌握Verilog HDL语言中的运算符和控制结构也是很重要的。Verilog HDL支持各种运算符,包括算术、逻辑和位运算符。掌握这些运算符可以实现各种数字逻辑功能。控制结构如if语句和for循环等可以用于实现条件逻辑和循环逻辑。 最后,在学习Verilog HDL时,了解如何使用模拟器和综合工具是很有帮助的。模拟器可以用于验证设计的正确性和功能。综合工具可以将Verilog HDL代码转换为硬件描述语言,并生成相应的电路。 总而言之,入门Verilog HDL语言需要掌握基本语法、数据类型、运算符和控制结构等知识。通过不断练习和实践,可以逐渐掌握Verilog HDL语言,并能够使用它设计和描述数字逻辑电路和系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值