Hello Dear Readers, Today in this post, I will provide some deep insight about yaml langauge for CAD flow developments with detailed examples. YAML is not a programming language in the same sense as Python, Tcl, C++, or Verilog. It is primarily a human-readable data serialization/configuration language . In semiconductor EDA, that distinction is important because YAML generally describes what a flow should do , while Python/Tcl/Shell and the EDA tools execute the flow . The official YAML specification describes it as a data serialization language designed to be human-friendly and portable across programming languages. For the semiconductor angle, this becomes particularly interesting because YAML can act as a configuration layer between design methodology and EDA implementation . Frameworks such as Hammer explicitly use YAML/JSON configuration and an intermediate representation to standardize information exchanged between design, technology, and tool plugins. 1. Introduction M...
Hello Dear Readers, Here I have giving Verilog code of 32-bit Multiplexer which is a common digital system block. A multiplexer selects an input from multiple inputs. The following code implements a 32-bit 2-to-1 multiplexer as well as a 4-to-1 multiplexer using a function . The [31:0] denotes a bus that has 32 bits. So Let's Start it code. Verilog Code: 1) Multiplexer Using Dataflow Level: module mux2to1 (a0,a1,s,y); // multiplexer, 32 bits // inputs, 32 bits input [31:0] a0, a1; // input selection line, 1 bit input s; // output, 32 bits output [31:0] y; // ternary operator is used so if (s==1) y=a1; else y=a0; assign y = s ? a1 : a0; endmodule Now there is also a function facility available in Verilog similar to C language such functions are sections of Verilog code that allo...