CPU自制入门1.10 AZPR SoC 整体连接_CPU自制入门1.10 AZPR SoC 整体连接试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > CPU自制入门 > 1.10 AZPR SoC 整体连接

CPU自制入门——1.10 AZPR SoC 整体连接

本节中,我们将做好的CPU、内存,以及各种I/O 使用总线连接,完成AZPR SoC 的制作。首先,我们要制作名为chip 的模块,该模块中使用总线连接CPU、内存与I/O。然后, 我们制作为chip 提供时钟与复位功能的时钟模块。最后,制作将chip 与时钟模块相连的顶层模块。 1.10.1  各模块的连接 本节我们将做好的CPU、ROM、定时器、UART、GPIO,以及连接这些模块的总线进行组装。整体组装的模块名为chip。chip 的连接框图如图1-129 所示。 总线主控与总线从属的连接关系如表1-69 所示。未连接的总线主控和总线从属的控制信号设为无效,数据信号设为0。这些信号留给将来追加新模块时使用。 中断请求信号的对照表如表1-70 所示。 表1-69 总线连接关系 表1-70 中断请求信号对照表 图1-129 整体连接图(chip.v) 1.10.2  时钟模块的实现 本节对时钟模块的实现进行说明。时钟模块用来为整个芯片提供时钟与复位信号。我们需要为之前设计的模块提供3 种信号:时钟信号(clk)、反相时钟信号(clk_)、与异步复位信号(reset)。我们将在时钟模块中生成这些信号。 通常FPGA 都含有获取时钟信号的功能。赛灵思的FPGA 有DCM(Digital Clock Manager)模块,可以对主时钟信号分频、倍频、移相,从而提供用户电路所需要的时钟信号。表1-71 列出了我们使用的DCM 的输入输出信号。 表1-71 DCM 信号线 DCM 的输入为时钟信号(CLKIN_IN)和异步复位信号(RST_IN),输出为生成的时钟信号(CLK0_OUT, CLK180_OUT)和锁频信号(LOCKED_OUT)。在复位无效时, DCM 将输入时钟信号进行处理,生成用户需要的时钟信号。生成的时钟稳定后将锁频信号变为有效。 我们设计的时钟模块将DCM 与电路板上的晶振产生的主时钟信号、来自复位按钮的复位信号相连,来生成芯片内所需要的时钟信号。芯片内部复位信号解除后才可以向芯片内部提供时钟信号。为了提供正确的时钟信号,内部复位信号需要在DCM 的锁存信号有效时解除,而不是在复位按钮松开的时刻。DCM 锁存与复位信号的关系如图1-130 所示。 图1-130 DCM锁存与复位的关系 时钟模块只含有一个模块,名为clk_gen。表1-72 列出了时钟模块的信号线一览、源程序如代码1-43 所示。 表1-72 信号线一览(clk_gen.v) 代码1-43 时钟模块(clk_gen.v) [Ⅰ]复位信号的生成 (1)处生成DCM 的复位信号(dcm_reset)。因为DCM 复位为正逻辑,所以根据复位开关(reset_sw)的极性生成DCM 复位信号(dcm_reset)。(2)处生成芯片内部的复位信号(chip_reset)。片内的复位信号(chip_reset)需要在DCM 锁频信号有效后解除。因此在复位按钮(reset_sw)按下或锁频信号无效时,片内复位信号(chip_reset)有效。 [Ⅱ]DCM 的实例化 此处实例化DCM 模块并进行信号连接。 1.10.3  顶层模块的实现 本节将制作完成的芯片与时钟模块连接,生成顶层模块。顶层模块只含有一个模块, 名为chip_top。图1-131 为顶层模块的连接框图。 图1-131 顶层模块连接框图 1.10.4  小结 本节对AZPR SoC 的整体连接进行了说明。至此,AZPR SoC 的制作全部完成。

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《CPU自制入门》其他试读目录

• 1.1 序
• 1.2 计算机系统
• 1.3 数字电路基础
• 1.4 Verilog HDL 语言
• 1.5 系统蓝图
• 1.6 总线的设计与实现
• 1.7 存储器的设计与实现
• 1.8 AZ Processor 的设计与实现
• 1.9 I/O 的设计与实现
• 1.10 AZPR SoC 整体连接 [当前]
• 1.11 AZPR SoC 的仿真
• 1.12 本章总结