Leon2處理器IP核技術(shù)(二)
“二進(jìn)程”的編碼風(fēng)格的模型可用圖4來表示。它基本與狀態(tài)機(jī)模型一樣,只是組合進(jìn)程部分,采用變量形式進(jìn)行結(jié)構(gòu)化順序編碼,來完成下一個時鐘周期的輸出和下一個狀態(tài)進(jìn)行計算。時序進(jìn)程部分是在時鐘的作用下,完成狀態(tài)轉(zhuǎn)換和輸出驅(qū)動。
3 軟硬件開發(fā)
3.1 VHDL
Leon2除了VHDL源代碼外,還提供了頂層Makefile文件、Modelsim仿真器支持文件、Boot-monitor文件、VHDL測試文件、綜合支持文件、Leon2調(diào)試用的C語言源文件等,便于對Leon2進(jìn)行硬件和軟件方面的測試。
Leon2的內(nèi)部結(jié)構(gòu)可以通過模塊配置,使處理器具有不同的功能結(jié)構(gòu)。配置的方式可以采用tkconfig腳本進(jìn)行圖形界面的方式進(jìn)行,也可以直接對包文件device.vhd進(jìn)行手動編輯來完成。配置主要是通過修改一系列的常數(shù)的聲明值來實(shí)現(xiàn)的。Leon2中許多模塊功能是可以進(jìn)行配置的,這些配置信息是在包文件Target.vhd里進(jìn)行聲明的。
Leon2可配置的內(nèi)容包括:①所采用的綜合工具和目標(biāo)庫。綜合的技術(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個,但為了同交叉編譯器LECCS兼容必須配置為8個窗口,乘法器可以配置成迭交、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個字,組的數(shù)量可以是1~4。替換算法可以是隨機(jī)、LRR或LRU,并且指令Cache和數(shù)據(jù)Cache是獨(dú)立進(jìn)行配置的。⑤存儲器控制器。⑥D(zhuǎn)ebug配置。⑦片上外設(shè)的配置,如中斷控制器、看門狗等。⑧引導(dǎo)配置。⑨AMHB總線的相關(guān)配置。⑩PCI配置。
Leon2有四個可綜合的頂層文件;
◇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加上一個10/100 Mbps以太網(wǎng)MAC構(gòu)成的頂層;
◇leon_etn_pci.vhd一一標(biāo)準(zhǔn)的Leon2加上一個10/100 Mbps以太網(wǎng)MAC以及PCI接口構(gòu)成的頂層。
在上述四個頂層的下面,可以很容易地集成用戶自己的功能模塊。
評論