随笔分类 -  Verilog

摘要:此时仍相当于有个上升沿。初始值为4'b0000。`timescale 1ns / 1psmodule add( // inputs clk, // outputs sum );input wire clk;output reg [3:0] sum;initial begin sum = 0;endalways @ (posedge clk) begin sum = sum + 1;end endmodulemodule test_add();reg clk;wire [3:0] sum;always begin clk = 1; #1... 阅读全文
posted @ 2011-08-22 20:41 露初晞 阅读(422) 评论(0) 推荐(0)
摘要:module divide_frequency( );reg clk;reg d_clk;reg [2:0] cnt;initial begin clk = 1; cnt = -1; d_clk = 1;endalways begin #10 clk = ~clk;endalways @ (clk) begin cnt = cnt + 1; if(cnt == 4) begin d_clk = ~d_clk; cnt = 0; endendalways @ (d_clk) begin $display("at time %t, ", $time, "d_clk = 阅读全文
posted @ 2011-07-19 12:59 露初晞 阅读(219) 评论(0) 推荐(0)
摘要:1 `timescale 1ns / 1ps 2 ////////////////////////////////////////////////////////////////////////////////// 3 // Company: 4 // Engineer: 5 // 6 // Create Date: 21:32:09 07/08/2011 7 // Design Name: 8 // Module Name: decoder2x4 9 // Project Name: 10 // Target Devices: 11 // Tool versions: 12 // Desc. 阅读全文
posted @ 2011-07-10 21:22 露初晞 阅读(357) 评论(0) 推荐(0)
摘要:Verilog中的延迟都是根据时间单位定义的。 assign #2 sum = a ^ b;其中#2是指2个时间单位。使用编译指令`timescale可将时间单位与物理时间相关联。如: `timescale 1ns / 100ps // 必须在模块声明之前定义此语句说明延迟时间单位为1ns,时间精度是100ps(即最小分辨度)。#2代表2ns。 阅读全文
posted @ 2011-07-08 21:25 露初晞 阅读(213) 评论(0) 推荐(0)