Forum Discussion
Altera_Forum
Honored Contributor
12 years ago --- Quote Start --- --- Quote Start --- 3) Regarding simulation, isn't the Avalon-MM Master BFM a subset of the JTAG-to-Avalon-MM Master? If so, aside from running slower, wouldn't running just the single JTAG-to-Avalon-MM Master simulation cover JTAG and the Avalon-MM, and be closer to how the real application operates? --- Quote End --- Nope. The BFM is non-synthesizeable code. The JTAG simulation procedures I "found" in the JTAG-to-Avalon-MM mean that you can simulate using it, and get "closer" to the objective of testing something alot closer to what you implement in hardware. --- Quote End --- Thanks! I understand the BFM is strictly for simulation/verification, but isn't the simulation mechanism for the JTAG-to-Avalon-MM you 'found', also meant for testing the system before actually synthesizing to hardware? If so, is it that the BFM simulation is more exhaustive in coverage than the coverage in JTAG-To-Avalon-MM? BTW, even though it's not one of the targeted boards, I thought I'd give all this a try on my oldy DE1 (Cyclone II) board. While I don't get any error messages, I'm not seeing the correct values read back. Are the master_read_32 , master_write_32, commands that you created in a .tcl file for the BeMicro/SDK/DE2 boards specifically, or are these commands part of a generic tcl library from Altera? Since all the commands complete fine, I don't think it's an issue of paths... basically, I open the system console (invoked via the Nios Command shell by typing 'system_console'), I list then set the master to the device that shows .../phy_0/master , open the service, and do reads/writes. (As a sanity check, if I disconnect the blaster, and try to open the service, I get an error message!) On the top level I have a 16-bit constant driving a PIO to Qsys, but when I do a master_read_32 it's looks like random data.. but it's consistent, different base memory addresses always report different values from each other, but always the same with respect to itself. As another data point I thought I'd try using the command line tool quartus_stp, but this seems to open SignalTap... not an interactive shell. I tried copying all the tcl files to quartus/common/tcl/packages but still no luck. In short, I figured the high level procedures in jtag_cms_sc.tcl (pb, sw, led_read) would need porting if using a different board, but perhaps there's something else that's board specific that I need to change first?