Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问调试香山处理器需要什么型号fpga开发板,或者是对fpga开发板有什么资源要求 #1413

Closed
du-jiaming opened this issue Jan 1, 2022 · 12 comments

Comments

@du-jiaming
Copy link

No description provided.

@du-jiaming du-jiaming changed the title 请问调试香山处理器需要什么型号fpga开发板,或者是有什么资源要求 请问调试香山处理器需要什么型号fpga开发板,或者是对fpga开发板有什么资源要求 Jan 1, 2022
@poemonsense
Copy link
Member

默认配置的香山在vu19p上占用大概40-50%的lut资源,可以参考选用fpga板

@cisen
Copy link

cisen commented Jan 19, 2022

默认配置的香山在vu19p上占用大概40-50%的lut资源,可以参考选用fpga板

这就已经这么恐怖了吗?玩不起啊,要不再搞个开源vu19p板子,再配合二手芯片估计才能玩得起

@poemonsense
Copy link
Member

默认配置的香山在vu19p上占用大概40-50%的lut资源,可以参考选用fpga板

这就已经这么恐怖了吗?玩不起啊,要不再搞个开源vu19p板子,再配合二手芯片估计才能玩得起

可以试一下MinimalConfig配置的香山,应该是比较小的板子就能跑起来。具体资源使用量,我们暂时还没有数据。等香山第二版(南湖)稳定之后,我们统一给一组数据

@cisen
Copy link

cisen commented Jan 19, 2022

默认配置的香山在vu19p上占用大概40-50%的lut资源,可以参考选用fpga板

这就已经这么恐怖了吗?玩不起啊,要不再搞个开源vu19p板子,再配合二手芯片估计才能玩得起

可以试一下MinimalConfig配置的香山,应该是比较小的板子就能跑起来。具体资源使用量,我们暂时还没有数据。等香山第二版(南湖)稳定之后,我们统一给一组数据

赞,坐等

@aren0924
Copy link

aren0924 commented Feb 9, 2022

有参考MinimalConfig的 FPGA 工程的 参考 文档或者 设计 吗 ??

@aren0924
Copy link

原生的 仿真环境,太多的 device model 都是 DPI-C 实现的。
如果需要往FPGA 上 移植 , 需要实现这些外设 。。。。。
能不能 在 make verilog 阶段 给一个 for_fpga 的最小系统的 配置。可能只需要一个Flash外设 和 一个串口,如果能生成一个 FPGATop.v 是最好的。

@poemonsense
Copy link
Member

soc您可以参考您的FPGA开发板提供的外设IP来搭建

@eatcosmos
Copy link

默认配置的香山在vu19p上占用大概40-50%的lut资源,可以参考选用fpga板

这就已经这么恐怖了吗?玩不起啊,要不再搞个开源vu19p板子,再配合二手芯片估计才能玩得起

国产硬件要崛起啊,外国的fpga价格简直是打劫。

@du-jiaming
Copy link
Author

默认配置的香山在vu19p上占用大概40-50%的lut资源,可以参考选用fpga板

请问你们用的开发板型号是什么啊?

@poemonsense
Copy link
Member

我们用的S2C的vu19p的板子

@AugustusWillisWang AugustusWillisWang pinned this issue Apr 11, 2022
@hyperswine
Copy link

可以试一下MinimalConfig配置的香山,应该是比较小的板子就能跑起来。具体资源使用量,我们暂时还没有数据。等香山第二版(南湖)稳定之后,我们统一给一组数据

Can you give me the specs of minimalconfig? So is there less L1/L2 cache?

@AugustusWillisWang
Copy link
Member

See

class MinimalConfig(n: Int = 1) extends Config(
new BaseConfig(n).alter((site, here, up) => {
case XSTileKey => up(XSTileKey).map(
_.copy(
DecodeWidth = 2,
RenameWidth = 2,
FetchWidth = 4,
IssQueSize = 8,
NRPhyRegs = 64,
LoadQueueSize = 16,
StoreQueueSize = 12,
RobSize = 32,
FtqSize = 8,
IBufSize = 16,
StoreBufferSize = 4,
StoreBufferThreshold = 3,
dpParams = DispatchParameters(
IntDqSize = 12,
FpDqSize = 12,
LsDqSize = 12,
IntDqDeqWidth = 4,
FpDqDeqWidth = 4,
LsDqDeqWidth = 4
),
exuParameters = ExuParameters(
JmpCnt = 1,
AluCnt = 2,
MulCnt = 0,
MduCnt = 1,
FmacCnt = 1,
FmiscCnt = 1,
FmiscDivSqrtCnt = 0,
LduCnt = 2,
StuCnt = 2
),
icacheParameters = ICacheParameters(
nSets = 64, // 16KB ICache
tagECC = Some("parity"),
dataECC = Some("parity"),
replacer = Some("setplru"),
nMissEntries = 2,
nReleaseEntries = 1,
nProbeEntries = 2,
nPrefetchEntries = 2,
hasPrefetch = false
),
dcacheParametersOpt = Some(DCacheParameters(
nSets = 64, // 32KB DCache
nWays = 8,
tagECC = Some("secded"),
dataECC = Some("secded"),
replacer = Some("setplru"),
nMissEntries = 4,
nProbeEntries = 4,
nReleaseEntries = 8,
)),
EnableBPD = false, // disable TAGE
EnableLoop = false,
itlbParameters = TLBParameters(
name = "itlb",
fetchi = true,
useDmode = false,
sameCycle = false,
missSameCycle = true,
normalReplacer = Some("plru"),
superReplacer = Some("plru"),
normalNWays = 4,
normalNSets = 1,
superNWays = 2,
shouldBlock = true
),
ldtlbParameters = TLBParameters(
name = "ldtlb",
normalNSets = 4, // when da or sa
normalNWays = 1, // when fa or sa
normalAssociative = "sa",
normalReplacer = Some("setplru"),
superNWays = 4,
normalAsVictim = true,
partialStaticPMP = true,
outReplace = true
),
sttlbParameters = TLBParameters(
name = "sttlb",
normalNSets = 4, // when da or sa
normalNWays = 1, // when fa or sa
normalAssociative = "sa",
normalReplacer = Some("setplru"),
normalAsVictim = true,
superNWays = 4,
partialStaticPMP = true,
outReplace = true
),
btlbParameters = TLBParameters(
name = "btlb",
normalNSets = 1,
normalNWays = 8,
superNWays = 2
),
l2tlbParameters = L2TLBParameters(
l1Size = 4,
l2nSets = 4,
l2nWays = 4,
l3nSets = 4,
l3nWays = 8,
spSize = 2,
),
L2CacheParamsOpt = None // remove L2 Cache
)
)
case SoCParamsKey => up(SoCParamsKey).copy(
L3CacheParamsOpt = Some(up(SoCParamsKey).L3CacheParamsOpt.get.copy(
sets = 1024,
simulation = true
)),
L3NBanks = 1
)
})
)

@wakafa1 wakafa1 unpinned this issue May 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants