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.
Thank you permute for your answer.
I've searched on the network for some document about this IIRC algorithm, but I found nothing.
Does anyone have a link or some documentation about it?
I'm trying to implement a DDR2 controller on a Spartan3 FPGA.
The memory is a single 512Mb chip by Micron (32M x 16, that is the data bus is 16 bits wide), and the following is its datasheet: https://download.micron.com/pdf/datasheets/dram/ddr2/512MbDDR2.pdf
Writing the RAM is quite...
Thank you both for your answers.
I don't understand :-( Is this true only in the hardware implementation (so it's a direct cause of the routing delays) or is this true even when simulating? (i.e. is this defined by VHDL?)
I wrote a simple chunk of code to do some tests:
entity top is
port(...
Hi there,
I have a project that involves a state machine. Some states require the machine to wait for a certain amount of time.
I thought of implementing the delays using some simple counters, so the design would be something like:
process(clk)
begin
if rising_edge(clk) then
-- description...
Wow ryanlxb, you implemented an ARM compatible processor on your own? I have to admit it, I'm impressed. Nice job!
Anyway I don't think I'll go for it, I need something more largely supported.
Well lucbra, I think I'll go for the Mico32:
http://en.wikipedia.org/wiki/LatticeMico32
If there...
Hi there,
So far I've been working on embedded projects using AT91SAM7 microcontrollers (an ARM7TDMI core plus plenty of peripherals, made by atmel).
Now, after messing around a little bit with a Spartan3 FPGA, I'd like to get it to do some real stuff.
At first I thought about the Microblaze...
Yea, I sure would better brake it down.
Well, to be honest that constant was born as a generic.
Not much time after I discovered the compiler does not like generics as arguments for case statements, because they're not locally static. As a consequence I chose to change it for a constant.
The...
Thank you vipinlal! That was helpful, just what I was looking for :)
Still, I'd like to know what permute was talking about, maybe it's not the right way to accomplish such an operation ?
Tell me more please!
By the way the synthesizer just instantiate some adders, multipliers and stuff for that expression (as I expected). What's wrong with it ? :cry:
Hi there,
Let's take the following example:
rom_addr := std_logic_vector(unsigned(ram_db)*((font_width*font_height)/8) + (unsigned(pix_x) + unsigned(pix_y)*font_width)/8);
Where:
signal ram_db: std_logic_vector(7 downto 0);
constant font_width: integer range integer'right downto 8 := 8...
Hi there,
I have an expression that results in an array of 22 std_logic values. I have to assign this expression to a variable which can only hold 16 elements, and I'd like elements from 0 to 15 of the expression to be assigned to the variable (the LSBs), and the others to be discarded.
I'm...
Thanks you both for your hints, they're valuable :)
permute, the internal buffer idea sounds just good.
vipinlal I don't think I got it a 100% straight. For what I understood you're saying to use a dual buffering technique to accomplish concurrent reading and writing. To accomplish this I'd...
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.