FPGA學習第四課 使用IP核

2021-10-07 01:38:15 字數 2618 閱讀 7556

本篇內容:

ip核開發例項

計數器級聯

使用ip核

後面具體的操作就可以跟著教程做了,在此就先不一一枚舉。

**檔案:

counter_tb.v

/*

#是延時

repet 迴圈

注意counter_tb和counter-tb,昨晚我因為這個地方沒有注意,一直報錯# optimization failed # error loading design

*/// 1.定義必須的變數

`timescale 1ns/1ns

`define clock_period 20 // 20ns 50mhz

// 2 新增module

module counter_tb;

// 4. 新增介面

// 激勵訊號

reg cin; // 進製輸入

reg clk; // 計數基準時鐘

// 觀測訊號

wire cout; // 進製輸出 只有當cin為1的時候有效

wire [3:0] q; // 4位的

// 3. 例化

counter counter0( // counter 模組就是ip核的計數器!

.cin(cin),

.clock(clk),

.cout(cout),

.q(q));

// 產生時鐘訊號

initial clk = 1;

always

#(`clock_period/2)

clk = ~clk; // 系統時鐘的一半 進行一次翻轉

// cin訊號的驅動

initial begin

repeat(20)begin // 重複5次 相當於迴圈

cin = 0;

#(`clock_period*5) cin=1;

#(`clock_period) cin=0;

end//

#(`clock_period*20)

$stop;

endendmodule

兩個定時器級聯

counter_top.v

// 用兩個4位的 組成乙個8位的

module counter_top(cin, clk, cout, q);

input cin;

input clk;

output cout;

output [7:0]q;

// 定義一條線,連線cout1和cin2

wire cout1;

counter counter1(

.cin(cin),

.clock(clk),

.cout(cout1),

.q(q[3:0]) // 第四位

); counter counter2(

.cin(cout1),

.clock(clk),

.cout(cout), // 最終的進製輸出

.q(q[7:4]) // 高四位

); endmodule

檢視rtl-viewer,可以看到兩個定時器級聯的效果:低位的進製輸出接到高位的訊號輸入

級聯的*/

// 1.定義必須的變數

`timescale 1ns/1ns

`define clock_period 20 // 20ns 50mhz

// 2 新增module

module counter_top_tb;

// 4. 新增介面

// 激勵訊號

reg cin; // 進製輸入

reg clk; // 計數基準時鐘

// 觀測訊號

wire cout; // 進製輸出 只有當cin為1的時候有效

wire [7:0] q; //

// 3. 例化

counter_top counter0(

.cin(cin),

.clk(clk),

.cout(cout),

.q(q));

// 產生時鐘訊號

initial clk = 1;

always

#(`clock_period/2)

clk = ~clk; // 系統時鐘的一半 進行一次翻轉

// cin訊號的驅動

initial begin

repeat(300)begin // 重複5次 相當於迴圈

cin = 0;

#(`clock_period*5) cin=1;

#(`clock_period) cin=0;

end//

#(`clock_period*20)

$stop;

endendmodule

可以看到級聯的輸出波形

參考小梅哥fpga

鋼琴第四課

因為此前每天都練琴,曲譜也都記住了,所以,週六,臨時被老師喊去時,非常自信。學到了很多知識。1.連貫性方面 連貫性要注意 其實,連貫性在於對曲目的熟練程度,手指的靈活程度,還有不同音之間的連貫跳躍 音要連續 不同音,要連續連線在一起 這個音落下,上個音才起來 2.節奏方面 四分音符要短快,彈到了,立...

學習Makefile第四課 使用變數

使用地方 目標,依賴目標,命令,其他地方 命名規則 字元,數字,下劃線 不應該有 大小寫敏感 推薦大小寫搭配 與自動變數不同 一 變數的基礎 宣告時需要給於初值,使用時需要在變數前加 符合,最好用 或 把變數包括起來,使用 用 例 objects program.o foo.o utils.o pr...

C 學習第四課 串

字串 兩種形式,一種是c模式,一種是c 模式 c模式 char a 6 char a hello 幾種函式 strcpy str1,str2 將str2的內容複製到str1上 strcat str1,str2 將str2連到str1的後面 strlen str1 求取字串str1的長度 strcmp...