Comments (20)
I have solved the previous issue by replacing "Ddr3Controller" with "AxiDdr3Controller" both in the BSV file and in the Makefile.
However, I can see another error message:
Error: "/home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/Ddr3Test.bsv", line 99, column 114: (T0016)
Field axiBits' is not in the type
AxiDdr3Controller::Ddr3' which was
derived for this expression.
make[1]: *** [obj/Ddr3Test.bo] Error 1
make: *** [build.nfsume] Error 2
from sonic-lite.
I just pushed Ddr3Controller.bsv, it is modified from AxiDdr3Controller.bsv
from sonic-lite.
There is another error:
BSV_BO [ /home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMemServer.bsv]
Error: "/home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMemServer.bsv", line 119, column 8: (T0030)
The provisos for this expression are too general.
Given type:
function m_#(SharedBuffMemServer::MemServerRead#(addrWidth, busWidth,
numClients, numServers)) f(ConnectalMemory::MemServerIndication x1,
Vector::Vector#(numMMUs, SharedBuffMMU::MMU#(addrWidth)) x2)
With the following provisos:
Add#(TLog#(TDiv#(busWidth, 8)), c__, 10)
Add#(TLog#(TDiv#(busWidth, 8)), b__, 8)
Add#(a__, addrWidth, 64)
Mul#(nrc, numClients, numServers)
IsModule#(m_, c_)
The following additional provisos are needed:
Add#(d__, TDiv#(busWidth, 8), 16)
Introduced at the following locations:
"/home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMemServer.bsv", line 148, column 21
The type variables are from the following positions:
"d__" at "/home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMemServer.bsv", line 148, column 21
Error: "/home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMemServer.bsv", line 204, column 8: (T0030)
The provisos for this expression are too general.
Given type:
function m_#(SharedBuffMemServer::MemServerWrite#(addrWidth, busWidth,
numClients, numServers)) f(ConnectalMemory::MemServerIndication x1,
Vector::Vector#(numMMUs, SharedBuffMMU::MMU#(addrWidth)) x2)
With the following provisos:
Add#(TLog#(TDiv#(busWidth, 8)), c__, 10)
Add#(TLog#(TDiv#(busWidth, 8)), b__, 8)
Add#(a__, addrWidth, 64)
Mul#(nwc, numClients, numServers)
IsModule#(m_, c_)
The following additional provisos are needed:
Add#(d__, TDiv#(busWidth, 8), 16)
Introduced at the following locations:
"/home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMemServer.bsv", line 233, column 21
The type variables are from the following positions:
"d__" at "/home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMemServer.bsv", line 233, column 21
make[1]: *** [obj/SharedBuffMemServer.bo] Error 1
make: *** [build.nfsume] Error 2
Can you please change first line of Makefile
" CONNECTALDIR?=$(HOME)/dev/connectal "
to
" CONNECTALDIR?=$(DEV_ROOT)/connectal "
?
Thanks
from sonic-lite.
It seems that in " sonic-lite/hw/bsv/SharedBuffMemServer.bsv "
" BYTE_ENABLES " is not defined.
from sonic-lite.
By adding the provisos as suggested by the error messages, the following error message appears:
BSV_BO [ /home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/Ddr3Test.bsv]
Error: "/home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/Ddr3Test.bsv", line 69, column 8: (T0031)
The provisos for this expression could not be resolved because there are no
instances of the form:
Add#(48, a__, 0)
The proviso was implied by expressions at the following positions:
"/home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/Ddr3Test.bsv", line 99, column 55
make[1]: *** [obj/Ddr3Test.bo] Error 1
make: *** [build.nfsume] Error 2
from sonic-lite.
Pushed a fix for that.
from sonic-lite.
I have tested the design:
the SRC buffer is correctly initialized, but the program gets stuck while writing to the memory " Started writing dram ".
Therefore it is unable to read data back and to check for mismatches.
from sonic-lite.
Just downloaded the last version of the repository and re-built the example design.
The following error message is shown:
BSV_BO [ /home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/nfsume/generatedbsv/Top.bsv]
Error: "/home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/nfsume/generatedbsv/Top.bsv", line 47, column 8: (T0108)
Module instantiation has the wrong number of arguments.
make[1]: *** [obj/Top.bo] Error 1
make: *** [build.nfsume] Error 2
from sonic-lite.
pushed a fix
from sonic-lite.
Hi,
I have been able to compile with no errors, but the test is still not able to read back the data.
It gets stuck while writing to dram.
from sonic-lite.
Hi Pietro,
The example gives you MemWriteClient and MemReadClient interface that you can directly use to write/read to DDR memory. But you would need to complete the example by actually sending a write request or read request to the MemWriteClient/ReadClient interface fifos.
from sonic-lite.
Hi,
the last update of DDR3 example is not able to compile:
BSV_BO [ /home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMemServer.bsv]
BSV_BO [ /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/generatedbsv/MemServerIndication.bsv]
Schedule dump file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/obj/mkMemServerIndicationInput.sched
Verilog file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/verilog/mkMemServerIndicationInput.v
Schedule dump file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/obj/mkMemServerIndicationWrapperMemPortalPipes.sched
Verilog file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/verilog/mkMemServerIndicationWrapperMemPortalPipes.v
Schedule dump file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/obj/mkMemServerIndicationOutputPipes.sched
Verilog file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/verilog/mkMemServerIndicationOutputPipes.v
Schedule dump file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/obj/mkMemServerIndicationOutput.sched
Verilog file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/verilog/mkMemServerIndicationOutput.v
Schedule dump file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/obj/mkMemServerIndicationProxySynth.sched
Verilog file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/verilog/mkMemServerIndicationProxySynth.v
Schedule dump file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/obj/mkMemServerIndicationInverter.sched
Verilog file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/verilog/mkMemServerIndicationInverter.v
Schedule dump file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/obj/mkMemServerIndicationInverterV.sched
Verilog file created: /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/nfsume/verilog/mkMemServerIndicationInverterV.v
BSV_BO [ /home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/Ddr3Test.bsv]
Error: "/home/netfpga/gitHub/sonic-lite/hw/tests/new_test_ddr3/Ddr3Test.bsv", line 97, column 31: (T0004)
Unbound variable `mkSimpleMMU'
make[1]: *** [obj/Ddr3Test.bo] Error 1
make: *** [build.nfsume] Error 2
from sonic-lite.
Adding the following line to "Ddr3Test.bsv" solves the previous issue:
import MMU::*;
now, a new error message appears:
Verilog file created: /home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/nfsume/verilog/mkMemServerIndicationInverterV.v
BSV_BO [ /home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/Ddr3Test.bsv]
Error: "/home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/Ddr3Test.bsv", line 99, column 102: (T0031)
The provisos for this expression could not be resolved because there are no
instances of the form:
BuildVector::BuildVector#(MMU::MMU#(30), Vector::Vector#(a__, SharedBuffMMU::MMU#(30)), 0)
make[1]: *** [obj/Ddr3Test.bo] Error 1
make: *** [build.nfsume] Error 2
from sonic-lite.
pushed changes to SharedBuffMMU.
from sonic-lite.
New error message:
Verilog file created: /home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/nfsume/verilog/mkDdr3TestRequestInverterV.v
BSV_BO [ /home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/nfsume/generatedbsv/Top.bsv]
Error: "/home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/nfsume/generatedbsv/Top.bsv", line 50, column 8: (T0108)
Module instantiation has the wrong number of arguments.
make[1]: *** [obj/Top.bo] Error 1
make: *** [build.nfsume] Error 2
from sonic-lite.
Error: "/home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMMU.bsv", line 82, column 26: (S0015)
Bluespec evaluation-time error: index 31 out-of-range (bit range update -
high index)
During elaboration of the body of rule rl_process_req' at "/home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMMU.bsv", line 79, column 12. During elaboration of
mmu' at
"/home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/Ddr3Test.bsv", line 97,
column 24.
During elaboration of lDdr3Test' at "/home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/nfsume/generatedbsv/Top.bsv", line 53, column 8. During elaboration of
_element' at "List.bs", line 727, column 4.
During elaboration of tile' at "/home/netfpga/gitHub/connectal/bsv/PcieTop.bsv", line 84, column 55. During elaboration of
mkPcieTop' at
"/home/netfpga/gitHub/connectal/bsv/PcieTop.bsv", line 76, column 8.
make[1]: *** [obj/PcieTop.bo] Error 1
make: *** [build.nfsume] Error 2
from sonic-lite.
Hi,
The last version of the code generates the following error message:
BSV_BO [ /home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/Ddr3Test.bsv]
Error: "/home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/Ddr3Test.bsv", line 101, column 7: (T0081)
Wrong number of arguments in the use of the following function:
mkConnectionWithClocks
The function expects 2 arguments but was used with 6 arguments.
Expected type:
function c__#(Empty) f(a__ x1, b__ x2)
Inferred type:
function j__#(k__) f(d__ x1, e__ x2, f__ x3, g__ x4, h__ x5, i__ x6)
make[1]: *** [obj/Ddr3Test.bo] Error 1
make: *** [build.nfsume] Error 2
I have changed this line
mkConnectionWithClocks(dma.masters[i], memSlaves[i], clock, reset, ddr3Controller.uiClock, ddr3Controller.uiReset);
to this one
mkConnectionWithClocks(dma.masters[i], memSlaves[i]);
Now I can see another error message:
BSV_BO [ /home/netfpga/gitHub/connectal/bsv/PcieTop.bsv]
Error: "/home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMMU.bsv", line 82, column 26: (S0015)
Bluespec evaluation-time error: index 31 out-of-range (bit range update -
high index)
During elaboration of the body of rule rl_process_req' at "/home/netfpga/gitHub/sonic-lite/hw/bsv/SharedBuffMMU.bsv", line 79, column 12. During elaboration of
mmu' at
"/home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/Ddr3Test.bsv", line 97,
column 24.
During elaboration of lDdr3Test' at "/home/netfpga/gitHub/sonic-lite/hw/tests/test_ddr3/nfsume/generatedbsv/Top.bsv", line 53, column 8. During elaboration of
_element' at "List.bs", line 727, column 4.
During elaboration of tile' at "/home/netfpga/gitHub/connectal/bsv/PcieTop.bsv", line 84, column 55. During elaboration of
mkPcieTop' at
"/home/netfpga/gitHub/connectal/bsv/PcieTop.bsv", line 76, column 8.
make[1]: *** [obj/PcieTop.bo] Error 1
make: *** [build.nfsume] Error 2
from sonic-lite.
First error was due to a change made by Jamey a few days ago, He might revert the change because clockOf() function seems to have a bug in compiler.
Second error is due to the size of DDR3 is only 1G, however, MMU assume a 4Gb address space, changing physAddr[31:24] -> physAddr[29:24] should fix it.
from sonic-lite.
Hi,
After changing "physAddr", I have been able to compile the example.
However, the program gets stuck while writing to the memory.
Is it possible to track the digital signals in the hardware with some probes (something like chipscope) in Connectal/BSV flow?
from sonic-lite.
Did you modify the example? It was not a complete example yet.
On Sep 28, 2016, at 8:56 AM, Pietro Bressana [email protected] wrote:
Hi,
After changing "physAddr", I have been able to compile the example.
However, the program gets stuck while writing to the memory.
Is it possible to track the digital signals in the hardware with some probes (something like chipscope) in Connectal/BSV flow?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
from sonic-lite.
Related Issues (20)
- Buildcache for quartus_sh HOT 1
- Use Ext Crystal 644.53125MHz to generate 156.25MHz
- Setup a continuous build/release system for sonic-lite HOT 1
- integrate sonic-lite as a submodule project in connectal HOT 1
- Implement Jump counter read
- Implement set initial count for dtp HOT 1
- Test Logger send/recv HOT 1
- Connect transceiver ready signal to LED. HOT 1
- Multiple Switch and NIC has bootstrapping problem HOT 2
- IRQ not working on compute24 HOT 2
- Clean up SonicTop.bsv HOT 1
- AsymmetricBRAM does not support output reg
- Potential issue with BCAM HOT 1
- Verify Bcam operation in firmware.
- Overwrite QSF file instead of append.
- ERROR: dtp/examples/pktgen_forwarding
- ERROR: p4/benchmark/fwd
- Building fwd benchmark for netfpga sume target: Timing violation HOT 2
- Acceptor does not update message type of Paxos header HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sonic-lite.