serv icon indicating copy to clipboard operation
serv copied to clipboard

Is it possible to set the processing width with the "width"/"W" parameter?

Open BLangOS opened this issue 11 months ago • 1 comments

In the servant module there is a parameter "with" which is mapped to the parameter "W" of the serv_top module. As far as I understand this parameter, it can be used to change the internal processing width of the serv-processor. I have therefore tried to change the parameter to 2 or 4 in order to process 2 or 4 bits per clock cycle. However, I received warnings from yosys that the synthesis was resizing vectors, e.g: “Warning: Resizing cell port $paramod$3eec962ce36018ce51e96f0857ef22d18d21aa80\serv_top.bufreg2.o_q from 2 bits to 1 bits.” Further warnings reported that inputs are not connected, e.g: “Warning: Wire servant.\cpu.cpu.state.o_cnt [0] is used but has no driver.” Is it possible to change the processing width of the processor or does the “width” parameter have a different purpose? Many thanks for more information about this parameter.

BLangOS avatar Dec 04 '24 12:12 BLangOS

Yes and no. There is ongoing work to make SERV support several widths but it's not complete yet. There are a couple of more files that need to be fixed. In the meantime, you can try the 4-bit version here https://github.com/olofk/qerv which uses most of the files from SERV but contains a few 4-bit specific ones.

olofk avatar Jan 09 '25 17:01 olofk