小舍YZ 发表于 2017-9-20 15:59:42

内部模块的设计和Verilog HDL实现

内部模块的设计和Verilog HDL实现

时钟分频器

由于通常的FPGA系统外部时钟输入都很高,如50MHz,,而IIC总线接口协议规定数据传输速率在标准模式下为100Kbit/s,快速模式下为400 kbit/s。
为了能产生正确的数据传输时序,由时钟分频寄存器对输入时钟进行分频再作为时序控制器的时钟。
8 bit的计数器可以满足大多数情况下的使用,但是如果微处理器的时钟比较大,就需要更大的计数器。
同样地,如果IIC总线要求工作速度比较大,那么就需要一个相对小的计数器。
系统复位时,计数器清零,当时钟上升沿时,计数器加1。
在本设计中,假定外部时钟为50 MHz,总线工作在标准模式100 KHz,基于Verilog同步设计的需要,本地时钟一般为SCL时钟的整数倍,这里取2倍。可以求得计数器值NUM=50M/(100K*2)=250,换算为16进制为FA。通过软件编程可以实现数据传输速率的控制,

其模块的RTL级描述如图4.2

图4.2时钟分频模块RTL级描述

小舍YZ 发表于 2017-9-20 16:00:25

用Quartus II软件编译仿真之后生成一个器件模块图,其接口电路模块图形如图4.3。

图4.3时钟分频模块图

fpga_feixiang 发表于 2017-9-20 17:03:44

画的很好啊......

zhangyukun 发表于 2017-9-21 09:17:31

内部模块的设计和Verilog HDL实现

晓灰灰 发表于 2017-9-21 10:37:30

内部模块的设计和Verilog HDL实现

小舍YZ 发表于 2017-9-22 10:27:39

晓灰灰 发表于 2017-9-21 10:37
内部模块的设计和Verilog HDL实现

                                     :) :) :) :) :)                                                                  

zxopenljx 发表于 2022-2-17 14:09:45

内部模块的设计和Verilog HDL实现

2644573028 发表于 2022-2-27 12:58:32

内部模块的设计和Verilog HDL实现
页: [1]
查看完整版本: 内部模块的设计和Verilog HDL实现