<KiranShila[m]>
What is the equivalent way of doing `fs_shift5_model_o <= repeat (5) @(posedge clk) fs_model_o;`?
Degi_ has joined #amaranth-lang
Degi has quit [Ping timeout: 248 seconds]
Degi_ is now known as Degi
<whitequark>
there isn't; is that even synthesizable?
<whitequark>
(I'm guessing you are writing a testbench, but just to make sure)
<tpw_rules>
i think it's a little undocumented, and i'm not confident i understand your verilog, but maybe m.d.sync += fs_shift5_model_0.eq(Past(fs_model_o, 5))?
<KiranShila[m]>
I’m also not very familiar with verilog, but I saw this as an example to create a 5 cycle delay
<KiranShila[m]>
is there any way to prevent the creation of duplicate identical modules in the emitted verilog?
<KiranShila[m]>
For example, I have two instances of a the same module in my circuit, each of which have their own submodules. Then, after generating verilog, I end up with a module definition for every submodule and for every child submodule, etc.
<whitequark>
no
<whitequark>
what Amaranth emits is essentially equivalent to a post-elaboration Verilog netlist; that is, a Verilog toolchain creates the same representation internally almost immediately after it reads your source code
<whitequark>
you can think of the Amaranth Verilog output being slightly more preprocessed than the hand-written Verilog you would normally feed to a toolchain
<KiranShila[m]>
Makes sense
<KiranShila[m]>
The escaped names break the perl library I was using to split the modules, which I suppose makes sense because then the filenames would get kinda hairy
<whitequark>
I think that is strictly a bug in the Perl library
<whitequark>
the escaped names are a Verilog-1995 feature
<KiranShila[m]>
Yeah of course
<KiranShila[m]>
I think I'm XY Problem-ing myself here trying to split the modules
<KiranShila[m]>
The only reason I was doing it was because I'm using the output as a black box in (god forgive me) Simulink
<whitequark>
the desire to have split verilog output is a common one but unfortunately the current architecture is not conducive to it
<whitequark>
it will be eventually implemented
pie_ has quit [*.net *.split]
kbeckmann has quit [*.net *.split]
Ekho has quit [*.net *.split]
elle has quit [*.net *.split]
nak has quit [*.net *.split]
TD-Linux has quit [*.net *.split]
trabucayre has quit [*.net *.split]
Xesxen has quit [*.net *.split]
eigenform has quit [*.net *.split]
trabucay1e has joined #amaranth-lang
eigenform has joined #amaranth-lang
nak has joined #amaranth-lang
trabucay1e is now known as trabucayre
kbeckmann has joined #amaranth-lang
elle has joined #amaranth-lang
Xesxen has joined #amaranth-lang
pie_ has joined #amaranth-lang
TD-Linux has joined #amaranth-lang
Ekho has joined #amaranth-lang
bentomo has joined #amaranth-lang
<bentomo>
Nah nothing that extreme, I just want to comply with open source licensing and give credit where it's due.