資源簡介
配合《Verilog SOPC高級實驗教程》(北航)一書使用,共分十講。每講都給出了相應的源代碼供讀者參考
代碼片段和文件信息
#include?“system.h“
#include?“alt_types.h“
#include?
#include?“anywhere_avalon_lcd_regs.h“
#include?“anywhere_avalon_bitblt_regs.h“
????
alt_u32?framebufferOffset?=?SSRAM_0_base;
void?Fill(alt_u32?XPos?alt_u32?YPos?alt_u32?Width?alt_u32?Height?alt_u16?Color)
{
????int?ij;
????alt_u16*?DataOffset;
????????
????DataOffset?=?framebufferOffset;
????DataOffset?+=?(XPos?+?YPos?*?640)?;
???
????//Fill?a?Rect
????for(i?=?0;?i?????{
??????for(j?=?0;j???????{
????????*(DataOffset+j)?=?Color;
??????}
??????DataOffset?+=?640?;?
????}
????????
????//Flush?Data?to?Mem
????alt_dcache_flush_all();
}
void?Blt(alt_u32?SrcXPos?alt_u32?SrcYPosalt_u32?DesXPos?alt_u32?DesYPos?alt_u32?Width?alt_u32?Height)
{
????alt_u16*?SrcDataOffset;
????alt_u16*?DesDataOffset;
????
????alt_u16?Status;
????alt_u8??Mode=0;
????
????alt_u8??WorkFinished=0;
????alt_u32?Try=0;
//Set?Mode?
????Mode=IORD_ANYWHERE_AVALON_BITBLT_CTRL(ANYWHERE_AVALON_BITBLT_0_base);
????Mode|=0x02;???????//?光柵操作使能地址選擇為矩形
??????IOWR_ANYWHERE_AVALON_BITBLT_CTRL(ANYWHERE_AVALON_BITBLT_0_baseMode);
//Set?Rop?code?=copy???
IOWR_ANYWHERE_AVALON_BITBLT_ROP_CODE(ANYWHERE_AVALON_BITBLT_0_base0x0C);
????
????//Set?Para
????SrcDataOffset?=?framebufferOffset;
????SrcDataOffset?+=?(SrcXPos?+?SrcYPos?*?640);
????DesDataOffset?=?framebufferOffset;
????DesDataOffset?+=?(DesXPos?+?DesYPos?*?640);
????
IOWR_ANYWHERE_AVALON_BITBLT_SRC_START_ADR(ANYWHERE_AVALON_BITBLT_0_baseSrcDataOffset);
????IOWR_ANYWHERE_AVALON_BITBLT_SRC_MEM_OFFSET(ANYWHERE_AVALON_BITBLT_0_base1280);
????IOWR_ANYWHERE_AVALON_BITBLT_DEST_START_ADR(ANYWHERE_AVALON_BITBLT_0_baseDesDataOffset);
????IOWR_ANYWHERE_AVALON_BITBLT_DEST_MEM_OFFSET(ANYWHERE_AVALON_BITBLT_0_base1280);
????IOWR_ANYWHERE_AVALON_BITBLT_WIDTH(ANYWHERE_AVALON_BITBLT_0_baseWidth);
????IOWR_ANYWHERE_AVALON_BITBLT_HEIGHT(ANYWHERE_AVALON_BITBLT_0_baseHeight);
????
//Start?Blt
IOWR_ANYWHERE_AVALON_BITBLT_CMD(ANYWHERE_AVALON_BITBLT_0_base0x05);??
????
//Wait?while?busy
while((WorkFinished?==?0)?&&?(Try?10000000))
???{
??????Status=IORD_ANYWHERE_AVALON_BITBLT_STATUS(ANYWHERE_AVALON_BITBLT_0_base);
??????if(Status?&?0x80)?//BLT_STATUS_BUSY
??????{
????????Try++;
??????}
??????else
??????{
????????WorkFinished=1;
??????}
????}
????
}
int?BitBlt(void)
{
??alt_u32?tXPos;
??alt_u32?tYPos;
??
??static?alt_32?BlockNum?=?0;
??static?alt_32?ColorNum?=?0;
??
??alt_u16?BGColor;
??alt_u16?FGColor;
??
??//Set?Color
??BGColor?=?ColorNum?*?rand();
??FGColor?=?~BGColor;
??//Draw?First?Block?and?then?Blt?to?all?Blocks
??if(BlockNum?==?0)
??{?
//Draw?80×80?block
????Fill(004040BGColor);
????Fill(0404040FGColor);
????Fill(4004040FGColor);
????Fill(40404040BGColor);
??}
??else
??{??
//Blt????
????tXPos?=?(BlockNum?%?8)*80;
????tYPos?=?(BlockNum?/?8)*80;
????Blt(00tXPostYPos8080);
??}
??
??//for?next?
??ColorNum+
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2734??2009-04-19?10:37??lecture4\工程\myadder8\adder8_lpm.bsf
?????文件????????376??2009-04-19?10:37??lecture4\工程\myadder8\adder8_lpm.qip
?????文件???????5074??2009-04-19?10:37??lecture4\工程\myadder8\adder8_lpm.v
?????文件???????4294??2009-04-19?10:37??lecture4\工程\myadder8\adder8_lpm_bb.v
?????文件??????59364??2009-04-19?10:37??lecture4\工程\myadder8\adder8_lpm_wave0.jpg
?????文件????????536??2009-04-19?10:37??lecture4\工程\myadder8\adder8_lpm_waveforms.html
?????文件???????1585??2009-04-19?10:46??lecture4\工程\myadder8\db\add_sub_1ei.tdf
?????文件???????1185??2009-04-19?10:46??lecture4\工程\myadder8\db\myadder8.(0).cnf.cdb
?????文件????????578??2009-04-19?10:46??lecture4\工程\myadder8\db\myadder8.(0).cnf.hdb
?????文件???????1351??2009-04-19?10:46??lecture4\工程\myadder8\db\myadder8.(1).cnf.cdb
?????文件????????642??2009-04-19?10:46??lecture4\工程\myadder8\db\myadder8.(1).cnf.hdb
?????文件???????1126??2009-04-19?10:46??lecture4\工程\myadder8\db\myadder8.(2).cnf.cdb
?????文件????????562??2009-04-19?10:46??lecture4\工程\myadder8\db\myadder8.(2).cnf.hdb
?????文件????????991??2009-04-19?10:46??lecture4\工程\myadder8\db\myadder8.(3).cnf.cdb
?????文件????????540??2009-04-19?10:46??lecture4\工程\myadder8\db\myadder8.(3).cnf.hdb
?????文件???????2186??2009-04-19?10:48??lecture4\工程\myadder8\db\myadder8.asm.qmsg
?????文件??????12980??2009-04-19?10:47??lecture4\工程\myadder8\db\myadder8.asm_labs.ddb
?????文件????????227??2009-04-19?10:46??lecture4\工程\myadder8\db\myadder8.cbx.xm
?????文件????????631??2009-04-19?10:47??lecture4\工程\myadder8\db\myadder8.cmp.bpm
?????文件???????4367??2009-04-19?10:48??lecture4\工程\myadder8\db\myadder8.cmp.cdb
?????文件?????????28??2009-04-19?10:47??lecture4\工程\myadder8\db\myadder8.cmp.ecobp
?????文件???????8749??2009-04-19?10:48??lecture4\工程\myadder8\db\myadder8.cmp.hdb
?????文件????????339??2009-04-19?10:47??lecture4\工程\myadder8\db\myadder8.cmp.kpt
?????文件??????????4??2009-04-19?10:47??lecture4\工程\myadder8\db\myadder8.cmp.logdb
?????文件??????23270??2009-04-19?10:48??lecture4\工程\myadder8\db\myadder8.cmp.rdb
?????文件???????4397??2009-04-19?10:48??lecture4\工程\myadder8\db\myadder8.cmp.tdb
?????文件??????57507??2009-04-19?10:48??lecture4\工程\myadder8\db\myadder8.cmp0.ddb
?????文件??????42396??2009-04-19?10:47??lecture4\工程\myadder8\db\myadder8.cmp2.ddb
?????文件????????345??2009-04-19?10:47??lecture4\工程\myadder8\db\myadder8.cmp_merge.kpt
?????文件????????137??2009-04-19?10:46??lecture4\工程\myadder8\db\myadder8.db_info
............此處省略6436個文件信息
- 上一篇:sigcomm2019論文集.zip
- 下一篇:自動控制原理習題解析
評論
共有 條評論