1
0
mirror of https://github.com/wfjm/w11.git synced 2026-04-28 21:08:35 +00:00

Add Digilent Cmod A7 (35 die size) support

- general board support
- c7_sram_memctl: SRAM memory controller (incl tb)
- is61wv5128bll: simple memory model (incl tb)
- sn_humanio_emu_rbus: human IO emulator
- 92-retro-usb-persistent.rules: add more board rules
- associated changes
  - sn_humanio_rbus: add stat_rbf_emu (=0); single cycle btn pulses
  - rgbdrv_analog(_rbus): add ACTLOW generic to invert output polarity
  - ti_rri: adopt Digilent autodetect for CmodA7
- add systems
  - tst_rlink: rlink tested
  - tst_sram: SRAM tester
  - w11a: w11a system with 672 kB memory (512 SRAM + 160 BRAM)
This commit is contained in:
wfjm
2017-06-28 22:29:09 +02:00
parent 4aa1db49c7
commit 05c7d937c7
87 changed files with 4502 additions and 48 deletions

View File

@@ -1,6 +1,6 @@
#! /usr/bin/env tclshcpp
# -*- tcl -*-
# $Id: ti_rri 883 2017-04-22 11:57:38Z mueller $
# $Id: ti_rri 918 2017-06-28 20:04:17Z mueller $
#
# Copyright 2011-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
#
@@ -15,6 +15,7 @@
#
# Revision History:
# Date Rev Version Comment
# 2017-06-28 918 1.4.5 adopt Digilent autodetect for CmodA7
# 2017-04-22 883 1.4.4 setup rbus monitor if detected
# 2017-01-08 843 1.4.3 allow --term=USBD for Digilent autodetect
# 2015-01-09 776 1.2.2 add --tout option to setup rlc timeout before connect
@@ -275,10 +276,12 @@ if { $opts(term) } {
set id_in {}
foreach line [split $text "\n"] {
set line [string trim $line]
regexp -- {^E: ID_SERIAL=(.*)_(\d*)$} $line matched id_id id_sn
regexp -- {^E: ID_USB_INTERFACE_NUM=(.*)$} $line matched id_in
regexp -- {^E: ID_SERIAL=(.*)_([0-9a-fA-F]+)$} $line matched id_id id_sn
regexp -- {^E: ID_USB_INTERFACE_NUM=(.*)$} $line matched id_in
}
if {$id_id eq "Digilent_Digilent_USB_Device" && $id_in eq "01"} {
if {($id_id eq "Digilent_Digilent_USB_Device" || \
$id_id eq "Digilent_Digilent_Adept_USB_Device" ) \
&& $id_in eq "01"} {
set dev_usbd $udev
break
}

View File

@@ -1,11 +1,12 @@
#!/usr/bin/perl -w
# $Id: ti_w11 843 2017-01-08 18:15:27Z mueller $
# $Id: ti_w11 916 2017-06-25 13:30:07Z mueller $
#
# Copyright 2013-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
# License disclaimer see License.txt in $RETROBASE directory
#
# Revision History:
# Date Rev Version Comment
# 2017-06-25 916 1.4.2 add -c7 (cmoda7 support)
# 2017-01-08 843 1.4.1 allow -tuD,.... for Digilent autodetect; add -bn4d
# 2016-12-31 834 1.4 use rw11::shell by default; add -ns to suppress it
# 2016-06-18 776 1.3.5 use ti_rri --tout now
@@ -53,6 +54,7 @@ my $val_tb_n4 = "tbw $sysbase/nexys4/tb/tb_w11a_n4 -fifo";
my $val_tb_bn4 = "tbw $sysbase/nexys4_bram/tb/tb_w11a_br_n4 -fifo";
my $val_tb_bn4d = "tbw $sysbase/nexys4d_bram/tb/tb_w11a_br_n4d -fifo";
my $val_tb_bar = "tbw $sysbase/arty_bram/tb/tb_w11a_br_arty -fifo";
my $val_tb_c7 = "tbw $sysbase/cmoda7/tb/tb_w11a_c7 -fifo";
my $val_tb;
my $val_e;
@@ -132,6 +134,12 @@ while (scalar(@ARGV)) {
$val_tb = $val_tb_bar;
shift @ARGV;
} elsif ($curarg =~ m{^-c7$} ) { # -c7 (use -fx by default)
$opt_io = 'f';
$opt_f = 'x';
$val_tb = $val_tb_c7;
shift @ARGV;
} elsif ($curarg =~ m{^-f(c|x|1|1x|2|2x)$} ) { # -f..
$opt_f = $1;
shift @ARGV;
@@ -343,6 +351,7 @@ exit 1;
sub print_usage {
print "usage: ti_w11 <setup options> <ti_rri opts and cmds>...\n";
print " setup options for ghdl simulation runs:\n";
print " -c7 start tb_w11a_c7 simulation (default: -fx)\n";
print " -b3 start tb_w11a_b3 simulation (default: -fx)\n";
print " -n4 start tb_w11a_n4 simulation\n";
print " -bn4 start tb_w11a_br_n4 simulation\n";