Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
Always better to know some basics for the circuit. In case of a full adder we can implement it using two half adders and one OR gate. Verilog code and circuit details here
Verilog rtl code for full-adder
Full-adder circuit discussion.
Re: Verilog synthesis problem "BLOCK RAM inferencing failed, output is not synchronou
I think what you are trying is to implement is a single port memory without proper control mechanism for reads. Synthesis tools fails, when they can't map the design to exiting library. Try adding rd control...
You can still decrement on negative edge of clock or have a counter which is pure combinatorial .. We need to first know the entire code to know it in details. Its quite possible that the printed code is not correct.
Here is some explanation in blue, I have divided the code in three parts
Part 1 ----
if (nReset = '0') then
cnt <= (others => '0');
clk_en <= '1'; --'0';
At reset cnt = 0 and clk_en =1 is
Part 2 -----
elsif (clk'event and clk = '1') then
if (cnt =...