编辑: 贾雷坪皮 | 2019-07-06 |
[Avalon][C][Nios II][Quartus II][SOPC Builder][Verilog]
0 软硬件环境 软件:Altera Quartus II 9.1 + Nios II? 9.1 Software Build Tools for Eclipse 硬件:艾米电子EP2C8开发板(EP2C8Q208C8 +
16 bit SDRAM 64MB + EPCS4)
1 硬件部分 1.1 Avalon-MM接口(读作:阿窝龙妹妹接口) Avalon Memory-Mapped接口,简称为 Avalon-MM接口,用于在存储映射系统中描述主从元件(component)的读/写接口. 图1.1 Amy_S_lcd12864 IP与System Interconnect Fabric的连线框图 图1.2 某带有Amy_S_lcd12864 IP的Avalon系统框图 1.2 从设备读写时序 请参考手册《Avalon Interface Specification》,此处略去. 1.3 HDL模块及说明 1.3.1 模块介绍 表1.1 Amy_S_lcd12864 IP的HDL源代码模块介绍 文件名称 功能描述 Amy_S_lcd12864_avalon_interface.v Amy_S_lcd12864 Avalon接口文件 1.3.2 源代码 注:本文所涉及verilog代码,是按照Verilog 2001规范编写的.Avalon信号类型命名参考图1.3. 图1.3 Naming Convention for Avalon Signal Type 1.3.2.1 Amy_S_lcd12864_avalon_interface.v
023 module Amy_S_lcd12864_avalon_interface(
024 ??// Clcok Input
025 ??input?csi_clk,
026 ??input?csi_reset_n,
027 ??// Avalon-MM Slave
028 ??input?avs_chipselect,
029 ??input [1:0]?? avs_address,
030 ??input?avs_write,
031 ??input [31:0]? avs_writedata,
032 ??input?avs_read,
033 ??output [31:0] avs_readdata,??
034 ??// Conduit End?
035 ??// lcd12864 interface
036 ??output reg??? coe_e,
037 ??output reg??? coe_rw,?
038 ??output reg??? coe_rs,
039 ??inout [7:0]?? coe_data_io
040 );
041 ??
042
043 // 写 开始
044
045 reg? [7:0] coe_data_o;
046 ??
047 always@(posedge csi_clk, negedge csi_reset_n)
048 begin
049 ??if (!csi_reset_n)
050 ??begin?
051 ????coe_e?1'b0;
052 ????coe_rw????