mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally
This commit is contained in:
commit
ea7b32a50b
@ -172,8 +172,8 @@ module plic_apb (
|
||||
end
|
||||
|
||||
// pending interrupt requests
|
||||
//assign nextIntPending = (intPending | requests) & ~intInProgress; //
|
||||
assign nextIntPending = requests; // DH: RT made this change May 2022, but it seems to be a bug to not consider intInProgress; see May 23, 2022 slack discussion
|
||||
assign nextIntPending = (intPending | requests) & ~intInProgress; // dh changed back 7/9/22 see if Buildroot still boots. Confirmed to boot successfully.
|
||||
//assign nextIntPending = requests; // DH: RT made this change May 2022, but it seems to be a bug to not consider intInProgress; see May 23, 2022 slack discussion
|
||||
flopr #(`N) intPendingFlop(PCLK,~PRESETn,nextIntPending,intPending);
|
||||
|
||||
// context-dependent signals
|
||||
|
@ -107,7 +107,7 @@ ifeq ($(SAIFPOWER), 1)
|
||||
cp -f ../pipelined/regression/power.saif .
|
||||
endif
|
||||
dc_shell-xg-t -64bit -f scripts/$(NAME).tcl | tee $(OUTPUTDIR)/$(NAME).out
|
||||
rm -rf $(OUTPUTDIR)/hdl
|
||||
# rm -rf $(OUTPUTDIR)/hdl
|
||||
rm -rf $(OUTPUTDIR)/WORK
|
||||
rm -rf $(OUTPUTDIR)/alib-52
|
||||
|
||||
|
@ -11,6 +11,7 @@ import numpy as np
|
||||
from ppa.ppaAnalyze import noOutliers
|
||||
from matplotlib import ticker
|
||||
import argparse
|
||||
import os
|
||||
|
||||
|
||||
def synthsintocsv():
|
||||
@ -59,6 +60,7 @@ def synthsintocsv():
|
||||
writer.writerow([width, config, special, tech, freq, delay, area])
|
||||
file.close()
|
||||
|
||||
|
||||
def synthsfromcsv(filename):
|
||||
Synth = namedtuple("Synth", "width config special tech freq delay area")
|
||||
with open(filename, newline='') as csvfile:
|
||||
@ -74,10 +76,16 @@ def synthsfromcsv(filename):
|
||||
allSynths[i] = Synth(*allSynths[i])
|
||||
return allSynths
|
||||
|
||||
|
||||
def freqPlot(tech, width, config):
|
||||
''' plots delay, area for syntheses with specified tech, module, width
|
||||
'''
|
||||
|
||||
current_directory = os.getcwd()
|
||||
final_directory = os.path.join(current_directory, 'plots/wally')
|
||||
if not os.path.exists(final_directory):
|
||||
os.makedirs(final_directory)
|
||||
|
||||
freqsL, delaysL, areasL = ([[], []] for i in range(3))
|
||||
for oneSynth in allSynths:
|
||||
if (width == oneSynth.width) & (config == oneSynth.config) & (tech == oneSynth.tech) & ('' == oneSynth.special):
|
||||
@ -151,6 +159,7 @@ def areaDelay(tech, delays, areas, labels, fig, ax, norm=False):
|
||||
|
||||
return fig
|
||||
|
||||
|
||||
def plotFeatures(tech, width, config):
|
||||
delays, areas, labels = ([] for i in range(3))
|
||||
freq = techdict[tech].targfreq
|
||||
@ -168,7 +177,8 @@ def plotFeatures(tech, width, config):
|
||||
titlestr = tech+'_'+width+config
|
||||
plt.title(titlestr)
|
||||
plt.savefig('./plots/wally/features_'+titlestr+'.png')
|
||||
|
||||
|
||||
|
||||
def plotConfigs(tech, special=''):
|
||||
delays, areas, labels = ([] for i in range(3))
|
||||
freq = techdict[tech].targfreq
|
||||
@ -207,7 +217,8 @@ def normAreaDelay(special=''):
|
||||
ax.set_ylabel('Area (add32)')
|
||||
ax.legend(handles = fullLeg, loc='upper left')
|
||||
plt.savefig('./plots/wally/normAreaDelay.png')
|
||||
|
||||
|
||||
|
||||
def addFO4axis(fig, ax, tech):
|
||||
fo4 = techdict[tech].fo4
|
||||
|
||||
|
@ -56,7 +56,7 @@ set vhdlout_show_unconnected_pins "true"
|
||||
# Due to parameterized Verilog must use analyze/elaborate and not
|
||||
# read_verilog/vhdl (change to pull in Verilog and/or VHDL)
|
||||
#
|
||||
set alib_library_analysis_path ./$outputDir
|
||||
#set alib_library_analysis_path ./$outputDir
|
||||
define_design_lib WORK -path ./$outputDir/WORK
|
||||
analyze -f sverilog -lib WORK $my_verilog_files
|
||||
elaborate $my_toplevel -lib WORK
|
||||
|
Loading…
Reference in New Issue
Block a user