mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-23 00:55:32 +00:00
intel_alm: direct LUTRAM cell instantiation
By instantiating the LUTRAM cell directly, we avoid a trip through altsyncram, which speeds up Quartus synthesis time. This also gives a little more flexibility, as Yosys can build RAMs out of individual 32x1 LUTRAM cells. While working on this, I discovered that the mem_init0 parameter of <family>_mlab_cell gets ignored by Quartus.
This commit is contained in:
parent
0610424940
commit
5b779f7f4e
9 changed files with 163 additions and 52 deletions
20
tests/arch/intel_alm/lutram.ys
Normal file
20
tests/arch/intel_alm/lutram.ys
Normal file
|
@ -0,0 +1,20 @@
|
|||
read_verilog ../common/lutram.v
|
||||
hierarchy -top lutram_1w1r
|
||||
proc
|
||||
memory -nomap
|
||||
equiv_opt -run :prove -map +/intel_alm/common/alm_sim.v -map +/intel_alm/common/dff_sim.v -map +/intel_alm/common/mem_sim.v synth_intel_alm -family cyclonev -nobram
|
||||
memory
|
||||
opt -full
|
||||
|
||||
miter -equiv -flatten -make_assert -make_outputs gold gate miter
|
||||
sat -verify -prove-asserts -seq 5 -set-init-zero -show-inputs -show-outputs miter
|
||||
|
||||
design -load postopt
|
||||
cd lutram_1w1r
|
||||
select -assert-count 16 t:MISTRAL_MLAB
|
||||
select -assert-count 1 t:MISTRAL_NOT
|
||||
select -assert-count 2 t:MISTRAL_ALUT2
|
||||
select -assert-count 8 t:MISTRAL_ALUT3
|
||||
select -assert-count 17 t:MISTRAL_FF
|
||||
select -assert-none t:MISTRAL_NOT t:MISTRAL_ALUT2 t:MISTRAL_ALUT3 t:MISTRAL_FF t:MISTRAL_MLAB %% t:* %D
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue