-
Notifications
You must be signed in to change notification settings - Fork 31
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
Testing on some designs from Opencores #126
Comments
Does this mean that you tried https://github.com/ghdl/ghdl-yosys-plugin#build-as-part-of-yosys-not-recommended instead of https://github.com/ghdl/ghdl-yosys-plugin#build-as-a-module-shared-library? |
I will first fix the missing features, but:
|
yes, i've tried #build-as-part-of-yosys-not-recommended because i couldn't compile it as module because of missing yosys symbols during linking, it was easier for me just to integrate it in yosys to make symbols visible. |
i'm not in a VHDL camp so i'm not familiar with lexical/syntax rules in standard, i consulted Quartus to verify them for me. |
Used msys2 32bit in Windows 7 to integrate everything together.
I've compiled ghdl 81905a8c.
Then used ghdl-yosys-plugin 0b687cd.
In-compiled it directly into the yosys 334ec5fa.
fails.zip
I hope this will help you to make this piece of work even better:)
Used several designs from opencores.org, to check if they really can be synthesized used Quartus Prime Lite Edition 16.1.
Some designs where ghdl falls with "GHDL Bug occurred" weren't checked in Quartus.
https://opencores.org/projects/8b10b_encdec
Command:
ghdl ./8b10_enc.vhd -e
Result:
https://opencores.org/projects/802154phycore
In Quartus used "ieee_802_15_4_phy" top-module, but in ghdl used a lower level module.
Command:
ghdl -fsynopsys -fexplicit ./chip_gen.vhd ./upsampler.vhd ./tx_fir.vhd ./tx_core.vhd -e
Result:
https://opencores.org/projects/avs_aes
Quartus compiled fine the AES_CORE top-module.
Command:
ghdl --work=avs_aes_lib ./addroundkey.vhd ./aes_core.vhd ./aes_fsm_decrypt.vhd ./aes_fsm_encrypt.vhd ./avs_aes.vhd ./avs_aes_pkg.vhd ./keyexpansionV2.vhd ./memory_word.vhd ./mixcol.vhd ./mixcol_fwd.vhd ./mixcol_inv.vhd ./mux3.vhd ./sbox.vhd ./sbox_arch1.vhd ./shiftrow.vhd ./shiftrow_fwd.vhd ./shiftrow_inv.vhd -e
Result:
https://opencores.org/projects/cordic
Command:
ghdl -fsynopsys ./r2p_pre.vhd -e
Result:
Command:
ghdl -fsynopsys ./r2p_post.vhd -e
Result:
https://opencores.org/projects/fft_fir_filter
Command:
ghdl -fsynopsys ./alfft_core_slip.vhd -e
Result:
https://opencores.org/projects/fpu_double
Command:
ghdl -fsynopsys -fexplicit ./fpupack.vhd ./fpu_sub.vhd -e
Result:
https://opencores.org/projects/hilbert_transformer
Command:
ghdl -fsynopsys ./fsf_comb_filter.vhd -e
Result:
https://opencores.org/projects/i2c_master_slave
Command:
ghdl -fsynopsys ./i2c_core_v02.vhd -e
Result:
https://opencores.org/projects/iicmb
Command:
ghdl ./iicmb_int_pkg.vhd ./mbit.vhd -e
Result:
https://opencores.org/projects/neo430
Command:
ghdl --work=neo430 ./neo430_package.vhd ./neo430_timer.vhd -e
Result:
https://opencores.org/projects/plasma
Command:
ghdl -fsynopsys -fexplicit ./mlite_pack.vhd ./ram.vhd -e
Result:
https://opencores.org/projects/cpu6502_true_cycle
Command:
ghdl -fsynopsys ./fsm_execution_unit.vhd -e
Result:
https://opencores.org/projects/usb11_phy_translation
Command:
ghdl -fsynopsys -fexplicit ./usb_tx_phy.vhdl -e
Result:
https://opencores.org/projects/viterbi_decoder_axi4s
Quartus sythesized with "dec_viterbi" as a top-module, maybe I just set library name incorrectly.
Command:
ghdl -fsynopsys --work=dec_viterbi ./acs.vhd ./axi4s_buffer.vhd ./branch_distance.vhd ./dec_viterbi.vhd ./generic_sp_ram.vhd ./pkg_components.vhd ./pkg_helper.vhd ./pkg_param.vhd ./pkg_param_derived.vhd ./pkg_trellis.vhd ./pkg_types.vhd ./ram_ctrl.vhd ./recursion.vhd ./reorder.vhd ./traceback.vhd -e
Result:
renamed the entity, tried again
Command:
ghdl -fsynopsys --work=dec_viterbi ./acs.vhd ./axi4s_buffer.vhd ./branch_distance.vhd ./dec_viterbi_rename.vhd ./generic_sp_ram.vhd ./pkg_components.vhd ./pkg_helper.vhd ./pkg_param.vhd ./pkg_param_derived.vhd ./pkg_trellis.vhd ./pkg_types.vhd ./ram_ctrl.vhd ./recursion.vhd ./reorder.vhd ./traceback.vhd -e
Result:
The text was updated successfully, but these errors were encountered: