TAILIEUCHUNG - ECE 551 Digital Design And Synthesis: Lecture 4

ECE 551 Digital Design And Synthesis: Lecture 4 has many contents: Behavioral Verilog, Blocking vs Non-Blocking, Simulator Mechanics part duo, Another initial Statement Example, Trigger lists (Sensitivity lists), FlipFlops (finally getting somewhere, Know your cell library, More on Blocking,. | ECE 551 Digital Design And Synthesis Fall ‘09 Behavioral Verilog always & initial blocks Coding flops if else & case statements Blocking vs Non-Blocking Simulator Mechanics part duo Administrative Matters Readings Text Chapter 7 (Behavioral Modeling) Cummings SNUG Paper (Verilog Styles that Kill) (posted on webpage) Cover HW solution for asynch reset and tran count Midterm: Wednesday 10/21/08 5:00PM-6:45PM EH ???? Behavioral Verilog initial and always form basis of all behavioral Verilog All other behavioral statements occur within these initial and always blocks cannot be nested All assignments must be to type reg initial statements start at time 0 and execute once If there are multiple initial blocks they all start at time 0 and execute independently. They may finish independently. If multiple behavioral statements are needed within the initial statement then the initial statement can be made compound with use of begin/end More on initial statements Initial statement very useful for testbenches Initial statements don’t synthesize Don’t use them in DUT Verilog (stuff you intend to synthesize) initial Blocks `timescale 1 ns / 100 fs module full_adder_tb; reg [3:0] stim; wire s, c; full_adder(sum, carry, stim[2], stim[1], stim[0]); // instantiate DUT // monitor statement is special - only needs to be made once, initial $monitor(“%t: s=%b c=%b stim=%b”, $time, s, c, stim[2:0]); // tell our simulation when to stop initial #50 $stop; initial begin // stimulus generation for (stim = 4’h0; stim Another initial Statement Example module stim() reg m,a,b,x,y; initial m = 1’b0; initial begin #5 a = 1’b1; #25 b = 1’b0; end initial begin #10 x = 1’b0; #25 y = 1’b1; end initial #50 $finish; endmodule Modelsim What events at what times will a verilog simulator produce? $finish 50 y = 1’b1 35 b = 1’b0 30 x = 1’b0 10 a =

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.