On 05/03/15 21:14, Ernst Christen wrote: > Brent, Andy, Tristan, [...] Focusing on the pure AMS part: > I am advocating that an interface be more flexible than this, that it should be extensible to allow the inclusion of terminals and quantities. This precludes a type as a starting point, and it makes the interface concept a new construct that bundles object declarations, something like > > interface r_cpu_bus is > adr: std_logic_vector(15 downto 0); -- Address > dat: std_logic_vector(15 downto 0); -- Data between master and slave > cs: std_logic_vector(7 downto 0); -- ChipSelect-bus from master > we: std_logic; -- Write enable from master > en: std_logic; -- Enable from master > ack: std_logic; -- Acknowledge from slave > err: std_logic; -- Error from slave > terminal t1: electrical_vector(7 downto 0); -- Added to demonstrate VHDL-AMS > quantity q: real -- Added to demonstrate VHDL-AMS > end interface r_cpu_bus; To my understanding, there is an issue with 'quantity': a interface_quantity_declaration is very different from a quantity_declaration, so you cannot create objects using an interface: interface xxx : r_cpu_bus; This works with signals and terminals but not with a quantity. I might be wrong, but to my understanding this is a serious issue when considering AMS. (And unfortunately, I have no ideas to solve that except big hammer rule as explained below but I am not an AMS expert). According to your syntax, we could add object class like constant (?), variable or signal (the latter being the default). That would be nice, but don't forget that variable and signal are almost always incompatible. One possible solution is to not allow object declaration from an interface where not possible (this would include quantity). Tristan. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Thu Mar 5 23:06:01 2015
This archive was generated by hypermail 2.1.8 : Thu Mar 05 2015 - 23:06:53 PST