How can i write a Cache Memory project in vhdl?? The cache is copy back 2-way... i'm trying to make a behavior description... but it's not working.
Mionxsq Lopbc wrote: > but it's not working. How did you find that out? What do you expect and what do you get? Just a little hint: VHDL is not C!!! (I cannot make enough exclamation marks!!) What you did is a kind of controller that may be working if it is executed sequentially on a CPU. But it will never work as you expect on hardware with VHDL. Read my comments...
1 | if (Valid='1') then |
2 | -- forget about functions the first half year of your VHDL career.
|
3 | -- if you don't want to write the mux inline, then have a look for "components" and "component instantiation"
|
4 | DataProc<=mux4x1(Cache_OUT(15 downto 0),Cache_OUT(31 downto 16), Cache_OUT(47 downto 32),Cache_OUT(63 downto 48),Palavra); |
5 | ...
|
6 | else -- to come here Valid must be '0' |
7 | Valid <= validade(V,TAG1,TAG2); -- |
8 | if (Valid='1') then -- the following code will NEVER be "reached", |
9 | -- because a SIGNAL in VHDL behaves not the way you want.
|
10 | -- Here /Valid/ is '0', because the "new" value of /Valid/
|
11 | -- is updated at the end of the process.
|
12 | ...
|
:
Edited by Moderator
I'm trying to do it in a structural description. But I don't know how to connect them to make it works.
Mionxsq Lopbc wrote: > I'm trying to do it in a structural description. Pls. attach vhdl files. I cannot open rar files on my tablet...
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.