Leon2處理器IP核技術(shù)(二)
“二進(jìn)程”的編碼風(fēng)格的模型可用圖4來(lái)表示。它基本與狀態(tài)機(jī)模型一樣,只是組合進(jìn)程部分,采用變量形式進(jìn)行結(jié)構(gòu)化順序編碼,來(lái)完成下一個(gè)時(shí)鐘周期的輸出和下一個(gè)狀態(tài)進(jìn)行計(jì)算。時(shí)序進(jìn)程部分是在時(shí)鐘的作用下,完成狀態(tài)轉(zhuǎn)換和輸出驅(qū)動(dòng)。
3 軟硬件開發(fā)
3.1 VHDL
Leon2除了VHDL源代碼外,還提供了頂層Makefile文件、Modelsim仿真器支持文件、Boot-monitor文件、VHDL測(cè)試文件、綜合支持文件、Leon2調(diào)試用的C語(yǔ)言源文件等,便于對(duì)Leon2進(jìn)行硬件和軟件方面的測(cè)試。
Leon2的內(nèi)部結(jié)構(gòu)可以通過(guò)模塊配置,使處理器具有不同的功能結(jié)構(gòu)。配置的方式可以采用tkconfig腳本進(jìn)行圖形界面的方式進(jìn)行,也可以直接對(duì)包文件device.vhd進(jìn)行手動(dòng)編輯來(lái)完成。配置主要是通過(guò)修改一系列的常數(shù)的聲明值來(lái)實(shí)現(xiàn)的。Leon2中許多模塊功能是可以進(jìn)行配置的,這些配置信息是在包文件Target.vhd里進(jìn)行聲明的。
Leon2可配置的內(nèi)容包括:①所采用的綜合工具和目標(biāo)庫(kù)。綜合的技術(shù)可以是:Synplify、Synopsys-DC、Synopsys-FC2、XST和Leonardo等,目標(biāo)技術(shù)可以是Xilinx的Virtex和Virtex II(FPGA)、Atmel的ATC35和ACT25(0.35/0.25μm CMOS)、TSMC 0.25μm CMOS、UMC 0.25/0.18μm CMOS、以及Actel的ProAsie(FPGA)和Axeellerator(反熔絲FPGA)等。②整數(shù)單元IU的寄存器窗口、乘法器、除法器、快速跳轉(zhuǎn)和觀察點(diǎn)的配置。寄存器窗口可以設(shè)置為2~32個(gè),但為了同交叉編譯器LECCS兼容必須配置為8個(gè)窗口,乘法器可以配置成迭交、16×16加流水寄存器、16×16、32×8.32×16、32×32等形式。③浮點(diǎn)處理單元FPU的配置,可以配置為使用meiko或是lth兩種浮點(diǎn)處理器之一。④Cache。Cache組的有效大小可以配置為1~64 KB,但必須是2的次冪,每行可以設(shè)置成4~8個(gè)字,組的數(shù)量可以是1~4。替換算法可以是隨機(jī)、LRR或LRU,并且指令Cache和數(shù)據(jù)Cache是獨(dú)立進(jìn)行配置的。⑤存儲(chǔ)器控制器。⑥D(zhuǎn)ebug配置。⑦片上外設(shè)的配置,如中斷控制器、看門狗等。⑧引導(dǎo)配置。⑨AMHB總線的相關(guān)配置。⑩PCI配置。
Leon2有四個(gè)可綜合的頂層文件;
◇leon.vhd一一標(biāo)準(zhǔn)的Leon2頂層;
◇leon_pci.vhd一一標(biāo)準(zhǔn)的Leon2加上PCI接口構(gòu)成的頂層;
◇leon_eth.vhd一一標(biāo)準(zhǔn)的Leon2加上一個(gè)10/100 Mbps以太網(wǎng)MAC構(gòu)成的頂層;
◇leon_etn_pci.vhd一一標(biāo)準(zhǔn)的Leon2加上一個(gè)10/100 Mbps以太網(wǎng)MAC以及PCI接口構(gòu)成的頂層。
在上述四個(gè)頂層的下面,可以很容易地集成用戶自己的功能模塊。
評(píng)論