新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 實(shí)驗(yàn)15:環(huán)形計(jì)數(shù)器

實(shí)驗(yàn)15:環(huán)形計(jì)數(shù)器

作者: 時(shí)間:2023-10-11 來源:電子森林 收藏

實(shí)驗(yàn)?zāi)康?/strong>

本文引用地址:http://m.butianyuan.cn/article/202310/451365.htm

(1)熟悉和掌握開發(fā)流程和軟件使用方法;

(2)通過實(shí)驗(yàn)理解和掌握原理;

(3)學(xué)習(xí)用行為級(jí)描述時(shí)序邏輯電路。

實(shí)驗(yàn)任務(wù)

設(shè)計(jì)一個(gè)4位右循環(huán)一個(gè)1的。

實(shí)驗(yàn)原理

將移位寄存器的輸出q0連接到觸發(fā)器q3的輸入,并且在這4個(gè)觸發(fā)器中只有一個(gè)輸出為1,另外3個(gè)為0,這樣就構(gòu)成了一個(gè)。初始化復(fù)位時(shí),給q0一個(gè)置位信號(hào),則唯一的1將在環(huán)形計(jì)數(shù)器中循環(huán)移位,每4個(gè)時(shí)鐘同期輸出一個(gè)高電平脈沖。

建模描述

用行為級(jí)描述帶有復(fù)位的移位寄存器

用于Diamond仿真的程序清單 ring.v


 module ring #

(

parameter  CNT_SIZE = 8

)

(

input wire clk,rst,           //時(shí)鐘和復(fù)位輸入

output reg [CNT_SIZE-1:0] cnt      //計(jì)數(shù)器輸出);always@(posedge clk)

if(!rst)

cnt <= 8'b0000_0001;        //復(fù)位初值

else

cnt <= {cnt[0],cnt[CNT_SIZE-1:1]};  //右移循環(huán)計(jì)數(shù)

endmodule 

 

仿真文件ring_tb.v


 `timescale 1ns/100ps    //仿真時(shí)間單位/時(shí)間精度

module ring_tb;

reg clk,rst;

wire [7:0] q;

initial

begin

clk =0;

rst =0;

#20

rst =1;

end

always#10 clk =~clk;

ring u1 (

.clk (clk),

.rst (rst),

.cnt (q)

);

endmodule 


實(shí)驗(yàn)步驟

打開,建立工程。

新建設(shè)計(jì)文件,并鍵入設(shè)計(jì)代碼。

根據(jù)仿真教程,實(shí)現(xiàn)對(duì)本工程的仿真,驗(yàn)證仿真結(jié)果是否與預(yù)期相符。

仿真結(jié)果和實(shí)驗(yàn)現(xiàn)象



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉