快速導(dǎo)航頁(yè)面 我覺(jué)得學(xué)習(xí)一個(gè)軟件,,自我探索這個(gè)環(huán)節(jié)是必不可少的,,軟件又用不壞,戳戳點(diǎn)點(diǎn)認(rèn)識(shí)基本功能是極好的,。閑話(huà)不多說(shuō),,我們開(kāi)始~ 首先必須建立一個(gè)新項(xiàng)目 可以拉長(zhǎng)這個(gè)對(duì)話(huà)框 然后就是寫(xiě)項(xiàng)目名字以及項(xiàng)目的保存位置 這里我加個(gè)1 接著是芯片的選擇 可以去到我上個(gè)文章的官網(wǎng)尋找相應(yīng)的手冊(cè),中文友好 你看不懂是另一個(gè)故事了 主要看看封裝信息 我們這樣選擇 這個(gè)是32的封裝,,注意看一下匹配到的紅字 這個(gè)是里面介紹的一些封裝,,自己寫(xiě)程序的時(shí)候注意選擇 就是選擇錯(cuò)了以后也可以之后再重新選擇 選好的樣子 點(diǎn)一這個(gè)下面的芯片欄目,然后才可以下一步 最后的頁(yè)面,,下一步 雙擊這個(gè)地方可以在項(xiàng)目建立后對(duì)芯片進(jìn)行重新選擇 http://www.asic-world.com/verilog/veritut.html Verilog的基本設(shè)計(jì)單元是模塊,,每個(gè)Verilog程序都包含四個(gè)主要部分:端口定義,,I / O描述,內(nèi)部信號(hào)聲明和功能定義,。 該模塊就像我們通常提到的黑匣子,。當(dāng)我們實(shí)現(xiàn)模塊時(shí),我們不需要關(guān)心模塊的內(nèi)部,。我們只需要根據(jù)模塊定義的輸入和輸出格式實(shí)例化模塊,,并將輸入提供給模塊。一個(gè)可以工作的模塊長(zhǎng)這樣 module block (input a, output b); 模塊的整體結(jié)構(gòu)由模塊和終端模塊組成,。模塊之后是模塊接口的定義,,該接口聲明端口的方向是輸入還是輸出。 內(nèi)部信號(hào)有時(shí)會(huì)在模塊內(nèi)部使用,,內(nèi)部信號(hào)的類(lèi)型為wire和reg,。 該功能的定義可以通過(guò)assign和always塊來(lái)完成。分配是描述組合邏輯的最常用方法之一,。總是可以使用塊機(jī)器來(lái)描述組合邏輯以及描述順序邏輯 模塊的整體結(jié)構(gòu)由模塊和終端模塊組成,。模塊之后是模塊接口的定義,該接口聲明端口的方向是輸入還是輸出,。 內(nèi)部信號(hào)有時(shí)會(huì)在模塊內(nèi)部使用,,內(nèi)部信號(hào)的類(lèi)型為wire和reg。 該功能的定義可以通過(guò)assign和always塊來(lái)完成,。分配是描述組合邏輯的最常用方法之一,。總是可以使用塊機(jī)器來(lái)描述組合邏輯以及描述順序邏輯 module led ( input sys_clk, input sys_rst_n, output reg [2:0] led // 110 B, 101 R, 011 G );
reg [23:0] counter;
always @(posedge sys_clk or negedge sys_rst_n) begin if (!sys_rst_n) counter <= 24'd0; else if (counter < 24'd1200_0000) // 0.5s delay counter <= counter + 1; else counter <= 24'd0; end
always @(posedge sys_clk or negedge sys_rst_n) begin if (!sys_rst_n) led <= 3'b110; else if (counter == 24'd1200_0000) // 0.5s delay led[2:0] <= {led[1:0],led[2]}; else led <= led; end
endmodule
該系統(tǒng)的時(shí)鐘為24Mhz,一個(gè)機(jī)器周期為1 / 24M s,,這意味著每12000000個(gè)時(shí)鐘周期為0.5s,。 在程序中,通過(guò)計(jì)數(shù)器計(jì)算12000000個(gè)時(shí)鐘周期,,并等待0.5s,。時(shí)間到后,將計(jì)數(shù)器設(shè)置為0并更改LED的顏色,。 在這個(gè)電平轉(zhuǎn)換 16,17,18腳分別于RGB三腳相連 共陽(yáng)極的RGB燈,,三個(gè)引腳在芯片的IO腳相連 一會(huì)兒創(chuàng)建物理約束文件的時(shí)候按照這個(gè)東西來(lái)布線(xiàn) 端口-I/O-引腳號(hào)-描述 這里的話(huà),先要?jiǎng)?chuàng)建一個(gè)物理的約束文件 這些是我們未來(lái)可能要用到的所有的文件類(lèi)型 雙擊配置文件 打開(kāi) Gowin FloorPlanner 是高云半導(dǎo)體面向市場(chǎng)自主研發(fā)的布局與物理約束 編輯工具,,支持對(duì) I/O,、Primitive(原語(yǔ))、block(存儲(chǔ)模塊,、DSP),、Group 等的屬性及位置信息的讀取與修改功能,同時(shí)可根據(jù)用戶(hù)的配置生成新的布 局與約束文件,,文件中規(guī)定了 I/O 的屬性信息,,原語(yǔ),、模塊的位置信息等。Gowin FloorPlanner 提供了簡(jiǎn)單快捷的布局與約束編輯功能,,可支持高云半 導(dǎo)體的各款 FPGA 芯片產(chǎn)品,。 切換到這個(gè)菜單進(jìn)行配置 點(diǎn)擊右鍵出現(xiàn)的是這樣的菜單 我們這里把寫(xiě)好的IO定義映射到相應(yīng)的引腳上面 中間待續(xù)還差一些工作,先這樣 以軟件卡死劇終
|
|
來(lái)自: 云深無(wú)際 > 《待分類(lèi)》