開(kāi)發(fā)板:正點(diǎn)原子達(dá)芬奇FPGA開(kāi)發(fā)板
芯片型號(hào):Xilinx Artix-7 35T
開(kāi)發(fā)工具:Vivado 2022.1
源碼鏈接:e203_hbirdv2: The Ultra-Low Power RISC-V Corehttps://gitee.com/riscv-mcu/e203_hbirdv2?_from=gitee_search
發(fā)現(xiàn)IP有報(bào)錯(cuò):?
此時(shí),打開(kāi)system.v文件 ,發(fā)現(xiàn)IP名不對(duì),所以我們要重新設(shè)置IP
?所以我們來(lái)修改第一個(gè)IP:
?單擊IP Catalog,搜索clk,雙擊Clocking Wizard,將clk_wiz_0改為mmcm,達(dá)芬奇開(kāi)發(fā)板上只有一個(gè)50MHz時(shí)鐘源,進(jìn)行一個(gè)更改:
?
我們需要一個(gè)16MHz時(shí)鐘,利用MMCM將50MHz時(shí)鐘源降頻為 16MHz :
?注意將system.v文件 中mmcm中的clk_out2改為clk_out1,設(shè)置完成后,Generate
?此外,我們還需要一個(gè)32.768KHz時(shí)鐘,32.768KHz由于頻率過(guò)低無(wú)法通過(guò)此IP實(shí)現(xiàn),需要自己寫(xiě)分頻器 ,具體步驟為新建一個(gè).v文件,將如下代碼復(fù)制粘貼,將其例化進(jìn)system.v文件:
//50MHz --> 32768Hz 約為1526倍 50MHz/1526=32765.4 HZ,作為常開(kāi)域時(shí)鐘
module clk_div(
input CLK50MHZ,
input rst_n,
output reg clk_div
);
parameter NUM_DIV = 11'd1526;
reg [10:0] cnt;
always @(posedge CLK50MHZ or negedge rst_n)
if(!rst_n) begin
cnt <= 11'd0;
clk_div <= 1'b0;
end
else if(cnt < NUM_DIV / 2 - 1) begin
cnt <= cnt + 1'b1;
clk_div <= clk_div;
end
else begin
cnt <= 11'd0;
clk_div <= ~clk_div;
end
endmodule
注意將系統(tǒng)時(shí)鐘由CLK100MHZ?改為CLK50MHZ
修改第二個(gè)ip設(shè)置,單擊IP Catalog,搜索reset,雙擊Processor System Reset,將proc_sys_reset_0改為reset_sys:
設(shè)置完成后,Generate
最終結(jié)果如下圖:
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-432698.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-432698.html
到了這里,關(guān)于移植蜂鳥(niǎo)E203內(nèi)核至達(dá)芬奇pro35T【集創(chuàng)芯來(lái)RISC-V杯】(二)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!