實(shí)驗16:扭環(huán)形計數器
實(shí)驗目的
本文引用地址:http://dyxdggzs.com/article/202310/451437.htm(1)熟悉和掌握FPGA開(kāi)發(fā)流程和Lattice Diamond軟件使用方法;
(2)通過(guò)實(shí)驗理解和掌握扭環(huán)形計數器原理;
(3)學(xué)習用Verilog HDL行為級描述時(shí)序邏輯電路。
實(shí)驗任務(wù)
設計一個(gè)右移扭環(huán)形計數器。
實(shí)驗原理
將移位寄存器的輸出非q0連接到觸發(fā)器q3的輸入,這樣就構成了一個(gè)扭環(huán)形計數器。初始化復位時(shí),給q0一個(gè)初值0000,則在循環(huán)過(guò)程中依次為:000010001100111011110111001100010000。
Verilog HDL建模描述
用行為級描述右移扭環(huán)形計數器
程序清單twist.v
module twist #
(
parameter CNT_SIZE = 8
)
(input clk,rst, //時(shí)鐘和復位輸入output reg [CNT_SIZE-1:0] cnt //計數器輸出);always@(posedge clk)
if(!rst)
cnt <= 8'b0000_0001; //復位初值
else
cnt <= {~cnt[0],cnt[CNT_SIZE-1:1]}; //右移循環(huán)計數endmodule
仿真文件twist_tb.v
`timescale 1ns/100ps //仿真時(shí)間單位/時(shí)間精度module twist_tb;reg clk,rst;wire [7:0]q;initial
begin
clk =0;
rst =0;
#20
rst =1;
endalways#10 clk =~clk;twist u1 (
.clk(clk),
.rst(rst),
.cnt(q)
);endmodule
實(shí)驗步驟
打開(kāi)Lattice Diamond,建立工程。
新建Verilog HDL設計文件,并鍵入設計代碼。
根據仿真教程,實(shí)現對本工程的仿真,驗證仿真結果是否與預期相符。
仿真結果和實(shí)驗現象
評論