HDLRuby 3.2.0 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/README.html +2330 -2670
  3. data/README.md +391 -101
  4. data/ext/hruby_sim/hruby_rcsim_build.c +400 -3
  5. data/ext/hruby_sim/hruby_sim.h +2 -1
  6. data/ext/hruby_sim/hruby_sim_calc.c +1 -1
  7. data/ext/hruby_sim/hruby_sim_core.c +15 -5
  8. data/ext/hruby_sim/hruby_sim_tree_calc.c +1 -1
  9. data/lib/HDLRuby/hdr_samples/c_program/echo.c +33 -0
  10. data/lib/HDLRuby/hdr_samples/ruby_program/echo.rb +9 -0
  11. data/lib/HDLRuby/hdr_samples/ruby_program/stdrw.rb +6 -0
  12. data/lib/HDLRuby/hdr_samples/ruby_program/sw_cpu_terminal.rb +614 -0
  13. data/lib/HDLRuby/hdr_samples/ruby_program/sw_inc_mem.rb +32 -0
  14. data/lib/HDLRuby/hdr_samples/ruby_program/sw_log.rb +33 -0
  15. data/lib/HDLRuby/hdr_samples/with_board.rb +63 -0
  16. data/lib/HDLRuby/hdr_samples/with_clocks.rb +42 -0
  17. data/lib/HDLRuby/hdr_samples/with_of.rb +1 -1
  18. data/lib/HDLRuby/hdr_samples/with_program_c.rb +28 -0
  19. data/lib/HDLRuby/hdr_samples/with_program_ruby.rb +28 -0
  20. data/lib/HDLRuby/hdr_samples/with_program_ruby_cpu.rb +234 -0
  21. data/lib/HDLRuby/hdr_samples/with_program_ruby_io.rb +23 -0
  22. data/lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb +58 -0
  23. data/lib/HDLRuby/hdr_samples/with_program_ruby_threads.rb +56 -0
  24. data/lib/HDLRuby/hdr_samples/with_sequencer_func.rb +2 -4
  25. data/lib/HDLRuby/hdrcc.rb +60 -21
  26. data/lib/HDLRuby/hruby_error.rb +13 -0
  27. data/lib/HDLRuby/hruby_high.rb +50 -7
  28. data/lib/HDLRuby/hruby_low.rb +74 -30
  29. data/lib/HDLRuby/hruby_rcsim.rb +89 -5
  30. data/lib/HDLRuby/std/clocks.rb +118 -50
  31. data/lib/HDLRuby/std/std.rb +5 -0
  32. data/lib/HDLRuby/ui/hruby_board.rb +1079 -0
  33. data/lib/HDLRuby/version.rb +1 -1
  34. data/lib/c/Rakefile +8 -0
  35. data/lib/c/cHDL.h +12 -0
  36. data/lib/c/extconf.rb +7 -0
  37. data/lib/rubyHDL.rb +33 -0
  38. data/tuto/gui_accum.png +0 -0
  39. data/tuto/gui_board.png +0 -0
  40. data/tuto/tutorial_sw.html +2263 -1890
  41. data/tuto/tutorial_sw.md +957 -62
  42. metadata +24 -5
  43. data/README.pdf +0 -0
  44. data/tuto/tutorial_sw.pdf +0 -0
@@ -1,3 +1,3 @@
1
1
  module HDLRuby
2
- VERSION = "3.2.0"
2
+ VERSION = "3.3.0"
3
3
  end
data/lib/c/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ require 'rake/extensiontask'
2
+
3
+ Rake::ExtensionTask.new do |ext|
4
+ ext.name = C_PROGRAM
5
+ ext.ext_dir = './'
6
+ ext.lib_dir = './'
7
+ end
8
+
data/lib/c/cHDL.h ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Interface for C program with HDLRuby hardware.
3
+ **/
4
+
5
+ /** The wrapper for getting an interface port for C software. */
6
+ extern void* c_get_port(const char* name);
7
+
8
+ /** The wrapper for getting a value from a port. */
9
+ extern unsigned long long c_read_port(void* port);
10
+
11
+ /** The wrapper for setting a value to a port. */
12
+ extern unsigned long long c_write_port(void* port, unsigned long long val);
data/lib/c/extconf.rb ADDED
@@ -0,0 +1,7 @@
1
+ require 'mkmf'
2
+
3
+ append_ldflags("-L #{RCSIM_DIR} -l:hruby_sim.so") if Gem.win_platform?
4
+
5
+ # $LDFLAGS << " -L #{RCSIM_DIR} -l:hruby_sim.so" if Gem.win_platform?
6
+
7
+ create_makefile(C_PROGRAM)
data/lib/rubyHDL.rb ADDED
@@ -0,0 +1,33 @@
1
+ require 'hruby_sim/hruby_sim'
2
+
3
+ ##
4
+ # Module for accessing HDLRuby hardware from a ruby program excuted on
5
+ # an embedded processor: HDLRuby simulator version.
6
+ ########################################################################
7
+ module RubyHDL
8
+
9
+ # Creates a new port 'name' assigned to signal 'sig' for reading.
10
+ def self.inport(name,sig)
11
+ # Create the accessing methods.
12
+ # For reading.
13
+ define_singleton_method(name.to_sym) do
14
+ RCSim.rcsim_get_signal_fixnum(sig)
15
+ end
16
+ end
17
+
18
+ # Creates a new wport 'name' assigned to signal 'sig' for writing.
19
+ def self.outport(name,sig)
20
+ # For writing.
21
+ define_singleton_method(:"#{name}=") do |val|
22
+ RCSim.rcsim_transmit_fixnum_to_signal_seq(sig,val)
23
+ end
24
+ end
25
+
26
+ # Creates a new program 'name' assign to simulator code 'code'.
27
+ def self.program(name,code)
28
+ # Create the accessing method.
29
+ define_singleton_method(name.to_sym) do
30
+ code
31
+ end
32
+ end
33
+ end
Binary file
Binary file