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.
sqrt vhdl
You can have a look at the following paper:
https://cis.k.hosei.ac.jp/~yamin/papers/ACAC2000.pdf
It describes a square root algorithm and its implementation
I have not read the ASIC Handbook but I know about the Aplication Specific Integrated Circuits book. This book is a bible for ASIC design. It has every step from coding to floorplanning. It's an engineering book and you can use it as a reference.
Maybe as a beginner it will be difficult to read...
Help need
You need to reset the counter when its value is 4 to jump over the values which are greater than 4.
So:
......
begin
if (count == 3'd4)
count <= 3'd0;
else
count <= count +1 ;
case (count)
..............
You can work in the RTL code with std_logic_vectors. In the testbench you can convert the real numbers in std_logic and vice versa to give data and take expected results.
In the following link, there is a part of code that does these conversions:
**broken link removed**
r0 is produced directly from d0 which is 12 bits while the other (r1..r5) are produced by adding signals, so they are extended by one bit to avoid overflow.
The calculation of the results are:
result1 = r5 - 16*r3
result2 = result1 + 2*r1
result3 = result2 + 4*result2
result4 = r1 + 64*rr1...
Re: CLK Divider HELP
There is no need to use dual edge flip-flop. That part of the verilog code is as writing in VHDL the following:
process(clk_50mhz, rst_n)
begin
if reset = '0' then
........
elsif rising_edge(clk_50mhz) then
.......
In order to check two numbers you have to subtract them. If the MSB of the result is 0 and the number of the result (the remaining digits without the msb) is 0 then the two numbers are equal.
If the msb of the result is 0 and the number is /=0 then the result is positive which means that if...
overflow adder
If you want to add two 6 bits signed digit, then the results will be 7 bits. You sign extend the MSBs of the two numbers to have a result of 7 bits.
For example if you add the 6'b10_0110 (which is -26 in 2's complement) and 6'b00_0110 (which is 6), sign extended (7'b1100110 +...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.