lcytms 发表于 2019-1-22 21:17:43

1341
        用数据流引出来。
        这种写法非常典型。
        刚才讲了,就是输出类型改成buffer,这是有条件的,电路的设计模型有的时候不允许改成buffer,输出就是输出。
        我们就用这种写法。
        这是非常经典的一种写法。
        直到今天,VHDL也仍然使用这种方法。
        Ctrl-S、Ctrl-K。
        报错,信号敏感表里面这个应该是int_q。
        Ctrl-S、Ctrl-K。
        好,现在来写验证。
        新建VHDL文件。
        现在我们知道,凡是要作为输出输入驱动的信号,你必须用中间信号的形式把它声明出来,然后做驱动,然后用数据流把它输出。

lcytms 发表于 2019-1-23 10:24:45

1342
        另存为counter_vh_tb.vhd。
        库声明,tb只要一个1164。
        实体。
        用行为写结构体。
        然后写组件声明。

lcytms 发表于 2019-1-24 13:46:27

1343
        复制端口。
        然后声明tb内部的信号。
        做例化,dut。

lcytms 发表于 2019-1-24 13:47:53

1344
        端口的映射。
        然后写它的激励。
        先写时钟的激励。
        带wait for不需要写信号敏感表,也不能写信号敏感表。
        0 ns。

lcytms 发表于 2019-1-24 14:52:00

1345
        Clk初始化为1,1比0好。
        再等10ns,半周期,让它等于0。
        再循环一次即可。
        然后写复位信号。
        上电以后,执行真值的复位。

lcytms 发表于 2019-1-25 21:44:01

1346
        我们同样200.1ns,右侧逼近。
        我们让它置位。
        置位以后我们不希望它翻转,不希望它process回来。
        就wait即可。
        永远在这等着。
        Ctrl-S、Ctrl-K。
        然后取它的名字。
        做仿真设置。
        周期置为2us。

lcytms 发表于 2019-1-27 13:34:19

1347
        执行一次跨平台检查。
        报错。
        赋值符写错了。
        Std_logic,这个是单引号。
        向量就是双引号。
        执行仿真。

lcytms 发表于 2019-1-27 21:15:05

本帖最后由 lcytms 于 2019-1-27 21:35 编辑

1348
        跟我们看到的任何一个计数器一模一样,只是描述方式的不同。
        下面我来给大家写一个状态机。
        VHDL的状态机是全面得到EDA理论体系的支持的。
        也就是说现在的工具,Quartus的工具,ISE的工具,对VHDL的状态机的支持,远比对Verilog的状态机的支持要强大得多。
        无论是现在Verilog有多成熟的发展,现在的工具体系里面,ISE、Quartus,它的基础的编译器,Synopsys基础的理论,仍然支持的是VHDL。

lcytms 发表于 2019-2-12 09:28:13

1349
        我们同样用分频器来做例子,来做这个状态机。
        Clk_in,复位。

lcytms 发表于 2019-2-12 09:29:30

1350
        Clk_out。
        有高电平、低电平的定参。
        高电平默认为3,低电平默认为2。
        可以分频。
        Clk_out是fout。
        这里是fin。
        HW=LW,占空比为50%的时候,等于fin除以2倍的fout。
        很容易推导出来。
页: 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29
查看完整版本: 跟李凡老师学FPGA之VHDL基础D01(20160720课堂笔记)