您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 如何以32位的方式存取SDRAM
如何以32位的方式存取SDRAM?摘要DE2因為只有一顆16位的SDRAM,儘管NiosIICPU是32位,存取SDRAM時必須透過Dyanamic公共汽车涂料機制,花2個clk才能將32位資料讀取/寫入SDRAM;但DE2-70有2顆16位SDRAM,是否使用雙通道的方式,將這2顆16位SDRAM看成1顆32位SDRAM使用呢?介绍這個做法是Mithril所提供,感謝Mithril無私的分享,我只是加以整理。使用環境:QuartusII8.1+DE2-70(旋风IIEP2C70F896C6N)在(原創)哪裡有DE2-70的NiosII参考设计可以參考?(SOC)(DE2-70)(NiosII)(SOPC建造者)與DE2-70CD的中提供的範例,如DE2_70_NET、DE2_70_NIOS_DEVICE_LED、DE2_70_NIOS_HOST_MOUSE_VGA、DE2_70_SD_Card_Audio_Player中,都是使用2個16位SDRAM控制器,各自對應到2顆SDRAM。不過可惜的是,SDRAM控制器的数据宽度只有16位,而NiosIICPU與其他ip都是32位,由於数据宽度不同,Avalon公共汽车會啟動动态公共汽车涂料機制,2個clk才能完成32位傳輸。將2顆16位SDRAM當成1顆32位SDRAM使用第1步:只留下1個SDRAM控制器即可第2步:数据宽度改成32位,其餘不用改注意結果仍為64MB,顯然沒有因為只用了一個SDRAM控制器而少抓存储容量。第3步:修改顶面模块DE2_70_NIOS.v/Verilog1/*2(c)OOMusou2008年文件名:DE2_70_NIOS.v5编译器:QuartusII8.16描述:DE2_70_NIOS参考设计1.17发行:11/25/20081.08*910模块DE2_70_NIOS(输入的11iCLK_28,//28.63636MHz输入的12iCLK_50,//50MHz输入的13iCLK_50_2,//50MHz输入的14iCLK_50_3,//50MHz输入的15iCLK_50_4,//50MHz输入的16iEXT_CLOCK,//外部时钟17//////////////////////////////电钮////////////////////////输入的18[3:0]iKEY,//电钮[3:0]19//////////////////////////////DPDT开关////////////////////////输入的20[17:0]iSW,//扳纽开关[17:0]21//////////////////////////////7-SEG显示////////////////////////输出的22[6:0]oHEX0_D,//七段数字0输出的23oHEX0_DP,//七段数字0小数点输出的24[6:0]oHEX1_D,//七段数字1输出的25oHEX1_DP,//七段数字1小数点输出的26[6:0]oHEX2_D,//七段数字2输出的27oHEX2_DP,//七段数字2小数点输出的28[6:0]oHEX3_D,//七段数字3输出的29oHEX3_DP,//七段数字3小数点输出的30[6:0]oHEX4_D,//七段数字4输出的31oHEX4_DP,//七段数字4小数点输出的32[6:0]oHEX5_D,//七段数字5输出的33oHEX5_DP,//七段数字5小数点输出的34[6:0]oHEX6_D,//七段数字6输出的35oHEX6_DP,//七段数字6小数点输出的36[6:0]oHEX7_D,//七段数字7输出的37oHEX7_DP,//七段数字7小数点38////////////////////////////////LED////////////////////////////输出的39[8:0]oLEDG,//LED绿色[8:0]输出的40[17:0]oLEDR,//LED红色[17:0]41////////////////////////////////UART////////////////////////////输出的42oUART_TXD,//UART发射机输入的43iUART_RXD,//UART接收器输出的44oUART_CTS,//UART明确送交输入的45iUART_RTS,//UART送的Requst46////////////////////////////////IRDA////////////////////////////输出的47oIRDA_TXD,//IRDA发射机输入的48iIRDA_RXD,//IRDA接收器49////////////////////////////////SDRAM接口////////////////////////50inout[31:0]DRAM_DQ,//SDRAM数据总线32位输出的51[12:0]oDRAM0_A,//SDRAM0地址总线12位输出的52[12:0]oDRAM1_A,//SDRAM1地址总线12位输出的53oDRAM0_LDQM0,//SDRAM0低字节数据面具输出的54oDRAM1_LDQM0,//SDRAM1低字节数据面具输出的55oDRAM0_UDQM1,//SDRAM0高字节数据面具输出的56oDRAM1_UDQM1,//SDRAM1高字节数据面具输出的57oDRAM0_WE_N,//SDRAM0写使能输出的58oDRAM1_WE_N,//SDRAM1写使能输出的59oDRAM0_CAS_N,//SDRAM0列地址闪光灯输出的60oDRAM1_CAS_N,//SDRAM1列地址闪光灯输出的61oDRAM0_RAS_N,//SDRAM0行地址闪光灯输出的62oDRAM1_RAS_N,//SDRAM1行地址闪光灯输出的63oDRAM0_CS_N,//SDRAM0片选输出的64oDRAM1_CS_N,//SDRAM1片选输出的65[1:0]oDRAM0_BA,//SDRAM0银行地址输出的66[1:0]oDRAM1_BA,//SDRAM1银行地址输出的67oDRAM0_CLK,//SDRAM0时钟输出的68oDRAM1_CLK,//SDRAM0时钟输出的69oDRAM0_CKE,//SDRAM0时钟使能输出的70oDRAM1_CKE,//SDRAM1时钟使能71////////////////////////////////一刹那接口////////////////////////72inout[14:0]FLASH_DQ,//一刹那数据总线15位(0到14)73inoutFLASH_DQ15_AM1,//一刹那数据总线咬住了15或地址A-1输出的74[25:0]oFLASH_A,//一刹那地址总线26位输出的75oFLASH_WE_N,//闪光写使能输出的76oFLASH_RST_N,//一刹那重新设置输出的77oFLASH_WP_N,//一刹那写保护/Programming加速度输入的78iFLASH_RY_N,//一刹那准备好或繁忙的产品输出的79oFLASH_BYTE_N、//一刹那字节或者词方式配置输出的80oFLASH_OE_N,//一刹那产品使能输出的81oFLASH_CE_N,//一刹那芯片启动82////////////////////////////////SRAM接口////////////////////////83inout[31:0]SRAM_DQ,//SRAM数据总线32位84inout[3:0]SRAM_DPA,//SRAM同等数据总线输出的85[20:0]oSRAM_A,//SRAM地址总线21位输出的86oSRAM_ADSC_N,//RAM控制器地址状态输出的87oSRAM_ADSP_N,//SRAM处理器地址状态输出的88oSRAM_ADV_N,//SRAM爆炸地址前进输出的89[3:0]oSRAM_BE_N,//SRAM字节写使能输出的90oSRAM_CE1_N,//SRAM芯片启动输出的91oSRAM_CE2,//SRAM芯片启动输出的92oSRAM_CE3_N,//SRAM芯片启动输出的93oSRAM_CLK,//SRAM时钟输出的94oSRAM_GW_N,全球性的//SRAM写使能输出的95oSRAM_OE_N,//SRAM产品使能输出的96oSRAM_WE_N,//SRAM写使能97////////////////////////////////ISP1362接口////////////////////////98inout[15:0]OTG_D,//ISP1362数据总线16位输出的99[1:0]oOTG_A,//ISP1362地址2位输出的100oOTG_CS_N,//ISP1362片选输出的101oOTG_OE_N,ISP1362读的//输出的102oOTG_WE_N,//ISP1362写道输出的103oOTG_RESET_N,//ISP1362重新设置104inoutOTG_FSPEED,全速//的USB,0=使能,Z=功能失效105inoutOTG_LSPEED,低速//的USB,0=使能,Z=功能失效输入的106iOTG_INT0,//ISP1362中断0输入的107iOTG_INT1,//ISP1362中断1输入的108iOTG_DREQ0,//ISP1362DMA请求0输入的109iOTG_DREQ1,//ISP1362DMA请求1输出的110oOTG_DACK0_N,//ISP1362DMA承认0输出的111oOTG_DACK1_N,//ISP1362DMA承认1112////////////////////////////////LCD模块16X2////////////////////////////113inout[7:0]LCD_D,//LCD数据总线8位输出的114oLCD_ON,//LCD电源接通/断开输出的115oLCD_BLON,//LCD后面轻开关输出的116oLCD_RW,精选//LCD的读/写,0=写,1=读输出的117oLCD_EN,//LCD使能输出的118oLCD_RS,//LCD命令或数据选择,0=命令,1=数据119////////////////////////////////SD卡片接口////////////////////////120inoutSD_DAT,//SD卡片数据121inoutSD_DAT3,//SD卡片数据3122inoutSD_CMD,//SD卡片命令信号输出的123oSD_CLK,//SD卡片时钟124////////////////////////////////I2C////////////////////////////////125inoutI2C_SDAT,//I2C数据输出的126oI2C_SCLK,//I2C时钟127////////////////////////////////PS2////////////////////////////128inoutPS2_KBDAT,//PS2键盘数据129inoutPS2_KBCLK,//PS2键盘时钟130inoutPS2_MSDAT,//PS2老鼠数据131inoutPS2_MSCLK,//PS2老鼠时钟132////////////////////////////////VGA////////////////////////////输出的133oVGA_CLOCK,//VGA时钟输出的134oVGA_HS,//VGAH_SYNC输出的135oVGA_VS,//VGAV_SYNC输出的136oVGA_BLANK_N,//VGA空白输出的137oVGA_SYNC_N,//VGASYNC输出的138[9:0]oVGA_R,//VGA红色[9:0]输出的139[9:0]oVGA_G,//VGA绿色[9:
本文标题:如何以32位的方式存取SDRAM
链接地址:https://www.777doc.com/doc-2557602 .html