当前位置:网站首页>[Digital IC hand tearing code] Verilog edge detection circuit (rising edge, falling edge, double edge) | topic | principle | design | simulation
[Digital IC hand tearing code] Verilog edge detection circuit (rising edge, falling edge, double edge) | topic | principle | design | simulation
2022-07-05 01:41:00 【myhhhhhhhh】
Preface
This series aims to provide 100% Accurate numbers IC Design / Verify the title of the hand tearing code link , principle ,RTL Design ,Testbench And reference simulation waveform , The content of each article is checked by simulation . The quick navigation links are as follows :
Odd frequency division
Even frequency division
Semi integer batch
decimal / Fractional frequency division
Sequence detector
Mode three detector
Beverage machine
Asynchronous reset , Simultaneous release
Edge detection ( Rising edge , Falling edge , On both sides )
Full adder , Half adder
Gray code to binary
single bit Cross clock domain ( Two beats , Edge synchronization , Pulse synchronization )
Sync FIFO
Ought to say , The hand tearing code link is in the interview process Both important and simple A part of , Compared with software jobs , Numbers IC Hand tear code Fixed topic , Limited number , It belongs to a link that must be scored in the whole interview , Outside this series , I also recommend numbers IC Job seekers use “HdlBits” Code Training
Links are as follows
HDLBits — Verilog Practice
Edge detection circuit problem
1. Use Verilog Language , Design the rising edge detection circuit .
2. Use Verilog Language , Design the falling edge detection circuit .
3. Use Verilog Language , Design double edge detection circuit .
Principle of edge detection circuit
Here is to explain the principle , We need to analyze the characteristics of the edge circuit
For a rising edge circuit , If used clk Signals and registers are sampled , The previous shot was picked 0, The input result of the last beat is 1, Then through the operation of combinatorial logic , For the previous shot A Express , For the next shot B Express ,“!A & B” It is the rising edge detection we need .
Empathy , For the falling edge , The previous shot was taken 1, The input result of the last beat is 0,A&!B, It is the falling edge detection circuit we need .
For bilateral edges , The output is ** “!A & B + A&!B” **, namely A^B Exclusive or operation
The specific sequence diagram is as follows
RTL Design
module edge_detect(clk,rst_n,signal,up_edge,down_edge,both_edge);
input clk;
input signal;
input rst_n;
output up_edge;
output down_edge;
output both_edge;
reg signal_r;
[email protected](posedge clk or negedge rst_n)
begin
if(!rst_n)
signal_r <= 1'b0;
else
signal_r <= signal;
end
assign up_edge = !signal_r & signal;
assign down_edge = signal_r & !signal;
assign both_edge = signal_r ^ signal;
endmodule
Testbench Design
`timescale 1ns / 1ps
module edge_detect_tb () ;
reg clk;
reg rst_n;
reg signal;
wire up_edge;
wire down_edge;
wire both_edge;
edge_detect u1(.clk(clk),
.rst_n(rst_n),
.signal(signal),
.up_edge(up_edge),
.down_edge(down_edge),
.both_edge(both_edge));
always #5 clk = !clk;
initial
begin
clk = 0;
rst_n = 1;
signal = 0;
#10
rst_n = 0;
#23
rst_n = 1;
#16
signal = 1;
#50
signal = 0;
#40
$stop;
end
endmodule
Result analysis
As shown in the figure, the rising and falling edges , Electric circuit output Edge arrival detected , Displayed in three wire type output On , The circuit design meets the expectation .
边栏推荐
- Global and Chinese markets for industrial X-ray testing equipment 2022-2028: Research Report on technology, participants, trends, market size and share
- MATLB | multi micro grid and distributed energy trading
- C basic knowledge review (Part 3 of 4)
- Heartless sword English translation of Xi Murong's youth without complaint
- Logstash、Fluentd、Fluent Bit、Vector? How to choose the appropriate open source log collector
- 流批一体在京东的探索与实践
- Global and Chinese market of optical densitometers 2022-2028: Research Report on technology, participants, trends, market size and share
- Complex, complicated and numerous: illustration of seven types of code coupling
- [Chongqing Guangdong education] National Open University spring 2019 1042 international economic law reference questions
- Educational Codeforces Round 122 (Rated for Div. 2) ABC
猜你喜欢
[CTF] AWDP summary (WEB)
One plus six brushes into Kali nethunter
How to safely eat apples on the edge of a cliff? Deepmind & openai gives the answer of 3D security reinforcement learning
流批一體在京東的探索與實踐
小程序容器技术与物联网 IoT 可以碰撞出什么样的火花
Win:使用 Shadow Mode 查看远程用户的桌面会话
Basic operations of database and table ----- delete index
[flutter topic] 64 illustration basic textfield text input box (I) # yyds dry goods inventory #
What sparks can applet container technology collide with IOT
[swagger]-swagger learning
随机推荐
Pytorch common code snippet collection
Outlook: always prompt for user password
pytorch fine-tuning (funtune) : 镂空设计or 偷梁换柱
Exploration and Practice of Stream Batch Integration in JD
MySQL regexp: Regular Expression Query
Introduction to the gtid mode of MySQL master-slave replication
Basic operation of database and table ----- the concept of index
19. Delete the penultimate node of the linked list
Basic operations of database and table ----- create index
流批一体在京东的探索与实践
Redis' hyperloglog as a powerful tool for active user statistics
Codeforces Global Round 19 ABC
Database postragesq peer authentication
Interpretation of mask RCNN paper
Package What is the function of JSON file? What do the inside ^ angle brackets and ~ tilde mean?
Is there a sudden failure on the line? How to make emergency diagnosis, troubleshooting and recovery
Summary of regularization methods
Valentine's Day flirting with girls to force a small way, one can learn
Using openpyxl module to write the binary list into excel file
无心剑英译席慕容《无怨的青春》