Loading...
Loading...
Verilog basics skill for firmware and kernel engineers. Use when reading RTL to understand hardware behavior, reset/clock domains, bus protocols, or collaborating with hardware teams. Activates on queries about Verilog basics, RTL, hardware description, clock domain, reset synchronizer, or MMU in hardware.
npx skill4agent add mohitmishra786/low-level-dev-skills verilog-basics-for-lowlevelmodule uart_tx (
input wire clk,
input wire rst_n, /* active-low async reset */
input wire start,
input wire [7:0] data,
output reg busy
);
/* sequential logic */
always @(posedge clk or negedge rst_n) begin
if (!rst_n)
busy <= 1'b0;
else if (start)
busy <= 1'b1;
/* ... */
end
endmodulewireregalwaysalways @(*)| Construct | Meaning |
|---|---|
| Registered update |
| Combinational |
| Mux logic |
Parameters | Configurable width |
#delayrst_sync_n| Bus | Typical use |
|---|---|
| APB | Slow peripherals, simple reg interface |
| AHB | Higher throughput on-chip |
| AXI | DMA, modern SoCs — bursts, channels |
regmapclk_aclk_b# Typical open-source sim (conceptual)
iverilog -o sim.vvp design.v tb.v
vvp sim.vvp/verilog-basics-for-lowlevel Explain this APB register block and when STATUS bit updates relative to WRITE| Symptom | Cause | Fix |
|---|---|---|
| Bit toggles once | Pulse in RTL | Poll latch / clear-on-read in driver |
| Random corruption | CDC | Hardware synchronizer; don't hack delays |
| Read stale data | Bus bridge buffer | Follow RM ordering / barrier |
| IRQ stuck | Level vs pulse in RTL | Match handler ACK sequence |
| Verilog vs VHDL | Mixed SoC docs | Focus on interface signals table |
skills/baremetal/mmio-and-bit-manipulationskills/baremetal/peripherals-from-datasheetskills/baremetal/datasheet-and-refmanual-readingskills/kernel-dev/device-treeskills/qemu/protocol-analysis