VHDL 编程笔记---1 目的 VHDL编码的最小基本组成部分 参考

虽然现在verilog语言更流行一些,但是因为某种原因,我还是准备用VHDL语言来解决问题,所以就要专门学一下VHDL。想必硬件描述语言肯定是大同小异的。这篇笔记算是参考文献中《Fundamentals of Digital Logic with VHDL Design》的阅读笔记。

目的

VHDL语言的出现主要有两个目的:

  1. 可以用它像精确得描述数字电路的细节,结构。
  2. 可以用它来模拟数字电路的行为。

VHDL编码的最小基本组成部分

我们可以这个基本组成部分理解为一个小的独立的模块,也可以想象为一块小芯片,有外面的引脚,作为和外面的模块发生交互,也有内部结构,实现逻辑功能,所以VHDL的编写也是包含这两个部分,即实体(ENTITY),还有结构(ARCHITECTURE)。

  • 实体(ENTIRY) 是用来定义所谓的引脚,可以定义为输出(OUT)或者输入(IN),基本的最小的数据单位为BIT,即为二进制里的一个位。

    ENTITY example1 IS
    PORT ( x1, x2, x3 : IN BIT ;
                 f : OUT BIT ) ;
    END example1 ;
    

    我们定义了一个叫example1的实体,端口(PORT)的x1, x2, x3被设置为输入,要用IN来表示;f为输出,要用OUT来表示。他们都是BIT类型的数据类型,在他们各自的行最后加上BIT关键字,标识他们都是BIT类型。最后统一用关键字PORT把他们用括号包起来。

  • 结构(ARCHITECTURE) 是用来实现模块里的实际逻辑功能,主要是将实体里定义的信号引脚用一定的逻辑操作连接起来,基本的逻辑操作用and,or,not,即与门,或门,非门,然后将计算的信号通过<=将输出信号交给输出的端口, 这个符号叫做信号赋值操作符(Signal Assignment Operator)。

    ARCHITECTURE LogicFunc OF example1 IS
    BEGIN
        f <= (x1 AND x2) OR (NOT x2 AND x3) ;
    END LogicFunc ;
    

    如上面语句显示,先是关键字ARCHITECTURE打头,后面是名字LogicFunc,然后OF后面跟着前面定义的实体的名字。信号赋值操作符右面的表达式叫做逻辑表达式(Logic Expressions),是一种赋值语句,当然VHDL还有其他类型的赋值语句,我们以后再说。

最后贴上上面的模块的逻辑电路图:

参考

《Fundamentals of Digital Logic with VHDL Design》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章